class ClassName {
    private int a;    
// 클래스 초기화 블록
    static {
        a = 10;
    }
     // 인스턴스 초기화 블록
    {
        a = 10;
     }

}

* 장점
1. 맴버변수 초기화는 보통 생성자에서 하므로 생성자 오버로딩하여 사용하는 경우 생성자마다 초기화 코드가 들어가야한다.
    static block으로 묶어주는 경우 컴파일 시점에 한번 초기화되어 중복코드를 방지할 수 있다.

2. 하나의 클래스로 여러개의 인스턴스가 동시에 실행되는 경우 유용하다.
    공통적으로 사용하는 변수를 static영역에 넣으므로 1회만 초기화되어도 여러 인스턴스에서 사용이 가능하다.
    
공통적으로 사용하는 변수의 초기화는 static { } 으로 묶어주는 것이 좋다.

'JAVA' 카테고리의 다른 글

HttpURLConnection으로 POST / GET 연습  (0) 2022.10.11
JAVA / JSON 연습  (0) 2022.09.18
AES 암호화 & BASE64 인코딩  (0) 2022.09.04
BufferedInputStream  (0) 2022.08.28
BigDecimal  (0) 2022.08.28

+ Recent posts