초기화블럭이란?
클래스초기화블럭과 인스턴스 초기화 블럭으로 나뉘며 초기화를 하기 위한
기능을 가진 것 중 하나이다.
단순히 블록으로만 이루어져 있다.
(생성자로 주로 초기화를 하므로 많이 쓰이지는 않는다.)
클래스 초기화 블럭은 클래스변수의 초기화에 사용.
static { }
인스턴스 초기화 블록은 인스턴스변수의 초기화에 사용.
{ }
초기화블럭의 특징
생성자보다 먼저 수행된다.
초기화블럭은 어떤 경우에 사용하는가?
- 배열, 반복문,예외등의 복잡하거나 구체적인 초기화를 하는데 쓰인다.
- 생성자에 같은 코드가 있는 경우에 중복을 없애기 위해 사용한다.
초기화블럭을 사용함으로써 생기는 장점
- 더 구체적이고 복잡한 초기화가 가능하다.
- 생성자마다 중복되는 코드가 있을 시 초기화 블록으로 묶어줌으로써 중복을 없애준다.
초기화블럭 사용 방법
{
System.out.println( "중복된 코드" );
}
Car() {
//System.out.println( "중복된 코드" );
int num = 5;
}
Car( int num ) {
//System.out.println( "중복된 코드 " );
this.num = num;
}