백준 14503을 풀면서 변수의 초기화에 대해서 궁금했다.
어떨때에는 초기화를 꼭해주어야 하고, 어떨때에는 초기화를 해주지 않아도 되는게 헷갈렸다.
필드와 변수의 개념에 대해 정확히 정리해본다.
클래스 = 필드 + 메소드 + 생성자
객체 = 필드 + 메소드
로 구성되어 있다.
개발자의 편의에 따라 필드는 클래스의 내부 멤버라해서 멤버변수라고 부르기도하고 전역변수라고도 한다.
변수는 지역변수라고 한다.
package BFS;
public class examexam {
static int ans; //--> examexam"클래스"안의 필드 : 초기화 생략가능
public static void main(String[] args) {
int num; //--> main "메소드"의 지역변수 : 초기화 필수
System.out.println(num); -->컴파일에러
System.out.println(ans);
++ans;
System.out.println(ans);
}
}
필드 선언시 초기값
종류 |
데이터 타입 |
초기값 |
정수 타입 |
byte |
0 |
short |
||
int |
||
long |
0 L |
|
char |
\u0000 |
|
실수 타입 |
float |
0.0 |
double |
0.0F |
|
논리 타입 |
boolean |
false |
String포함 클래스 / 배열 / 인터페이스 |
NULL |
'이것저것 알게된 것' 카테고리의 다른 글
2차원배열 특정값으로 채우기 (0) | 2019.08.02 |
---|---|
char형 연산 (0) | 2019.07.20 |
비트연산자 (0) | 2019.07.20 |
Scanner와 BufferedReader (0) | 2019.06.19 |
향상된 for문 (0) | 2019.06.07 |