본문 바로가기
카테고리 없음

자바 초기화 블럭(initalization block) / java static block(블록)

by 문자메일 2023. 3. 10.

java 코드를 보다 보면 아래와 같은 static 블록이 가끔 보인다.

 

static{
   ...
}

 

저런 블록을 초기화 블럭 이라고 한다. (initalization block)

class A{
	static {
    	// 클래스 초기화 블럭
    }
    
	{
    	// 인스턴스 초기화 블럭
    }
}

 

  • 클래스 초기화 블록 
    • 클래스 변수 초기화에 활용 가능
    • 클래스가 처음 로딩될 때 한 번만 수행 됨
  • 인스턴스 초기화 블록
    • 인스턴스 변수 초기화에 활용 가능
    • 인스턴스가 생성될때 마다 수행됨 (생성자보다 먼저 수행 된다)
      • 해당 클래스 생성자들에 공통으로 수행되는 로직이 있다면, 인스턴스 초기화 블럭 사용하면 중복을 줄일 수 있음

댓글