자바의 정석 6장(5) 변수의 초기화
5. 변수의 초기화
5-1 변수의 초기화
변수를 선언하고 처음으로 값을 저장하는 것을 '변수의 초기화'라고 한다.
가능하면 선언과 동시에 초기화하는 것이 바람직하다.
멤버변수는 초기화하지 않아도 변수의 자료형에 맞는 기본값으로 초기화 되지만,
지역변수는 사용 전 반드시 초기화해야 한다.
멤벼변수(클래스변수와 인스턴스변수)와 배열의 초기화는 선택, 지역변수 초기화는 필수
멤버변수의 초기화 방법
1.명시적 초기화
2.생성자
3.초기화 블럭
- 인스턴스 초기화 블럭 : 인스턴스 변수를 초기화 하는데 사용
- 클래스 초기화 블럭 : 클래스변수를 초기화 하는데 사용
5-2 명시적 초기화(explicit initialization)
변수를 선언과 동시에 초기화 하는 것을 명시적 초기화라고 한다.
5-3 초기화 블럭(initialization block)
클래스 초기화 블럭 - 클래스변수의 복잡한 초기화에 사용된다.
클래스 내에 블럭{}을 만들고 그안에 코드를 작성 하면 된다.
클래스가 메모리에 처음 로딩될 때 한번만 수행된다.
인스턴스 초기화 블럭 - 인스턴스변수의 복잡한 초기화에 사용된다.
클래스 초기화 블럭은 인스턴스 초기화 블럭 앞에 static을 붙여주면 된다.
생성자와 같이 인스턴스를 생성할 때 마다 수행된다.
5-4 멤버변수의 초기화 시기와 순서
클래스변수의 초기화 시점 - 클래스가 처음 로딩될 때 한번만 초기화 된다.
인스턴스변수의 초기화 시점 - 인스턴스가 생성될 때마다 각 인스턴스별로 초기화가 이루어진다.
클래스변수의 초기화 순서 - 기본값->명시적초기화->클래스 초기화 블럭
인스턴스변수의 초기화 순서 - 기본값->명시적초기화->인스턴스 초기화 블럭-> 생성자