[Java] 정적 초기화 블럭(static initialization block)

클래스에서 정적 변수나 매서드는 클래스 타입에 대한 인스턴스화 없이도 호출하거나 참조할 수 있는 요긴한 녀석들인데요.. 이 정적 변수를 사용하기 전에 미리 초기화해 놓을 필요가 있는 경우가… 대부분입니다. 뭐.. 간단히 클래스 안에서 정적 변수를 선언할때 값을 지정해 버리면 될 일이지만… 즉, 아래처럼요..

class IAMABOY {
    static int a = 100;
}

뭐.. 간단하죠? 하지만 여기에 더해서 추가적으로 자바에서는 정적 초기화 블럭이라는 방법을 제공합니다.. 가끔 사용하는 방법인지라.. 잊고.. 필요해서 사용할라치면 기억에서 가물가물.. 가물치가 되는지라.. 정리를 한번 해보렵니다.. 뭐.. 예시 코드 한방 날리면..

class IAMABOY {
    static int a = 100;

    static {
        for(int i=0; i<100; i++) {
            a = i;
        }
    }
}

즉.. 정적 초기화 블럭은 클래스의 인스턴스화에 상관없이 딱 한번 호출되는 절차적인 코드들로 이루어진 블럭입니다.. 요놈.. 요놈.. 가만히 보니.. 단위 테스트 기능 구현에 적용하면 딱... 이겠구나.. 싶어집니다..

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다