자료형 | 기본값 |
---|---|
boolean | false |
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
char | '\u0000' |
float | 0.0f |
double | 0.0d 또는 0.0 |
참조형 | null |
멤버변수는 각 타입의 기본값으로 자동 초기화된다. 이 후 명시적 초기화, 초기화 블럭, 생성자 순서로 초기화 된다. 그리고 클래스 변수가 인스턴스 변수보다 먼저 초기화 된다.
- 클래스 변수(cv) 👉 인스턴스 변수(iv) 초기화
- 자동 초기화 👉 명시적 초기화(간단) 👉 초기화 블럭, 생성자
변수를 선언과 동시에 초기화하는 것
명시적 초기화보다 복잡한 초기화 작업이 필요할 때 필요한 것.
- 클래스 초기화 블럭 : 클래스 변수의 복잡한 초기화에 사용
클래스 초기화 블럭은 인스턴스 초기화 블럭 앞에 static을 붙여주면 된다.- 인스턴스 초기화 블럭 : 인스턴스 변수의 복잡한 초기화에 사용
인스턴스 초기화 블럭은 단순히 클래스 내에 블럭{}을 만들고 그 안에서 코드를 작성하면 된다.