java 코드를 보다 보면 아래와 같은 static 블록이 가끔 보인다.
static{
...
}
저런 블록을 초기화 블럭 이라고 한다. (initalization block)
class A{
static {
// 클래스 초기화 블럭
}
{
// 인스턴스 초기화 블럭
}
}
- 클래스 초기화 블록
- 클래스 변수 초기화에 활용 가능
- 클래스가 처음 로딩될 때 한 번만 수행 됨
- 인스턴스 초기화 블록
- 인스턴스 변수 초기화에 활용 가능
- 인스턴스가 생성될때 마다 수행됨 (생성자보다 먼저 수행 된다)
- 해당 클래스 생성자들에 공통으로 수행되는 로직이 있다면, 인스턴스 초기화 블럭 사용하면 중복을 줄일 수 있음
댓글