더북(TheBook)

4.3.4 정적 멤버


열거에 정적 멤버를 넣을 수 있다. 하지만 생성 순서에 주의해야 한다. 열거 상수가 정적 멤버보다 먼저 생성되므로 열거 생성자에서 정적 멤버를 참조할 수 없다. 예를 들어 다음 코드는 규칙에 어긋난다.

public enum Modifier {

    PUBLIC, PRIVATE, PROTECTED, STATIC, FINAL, ABSTRACT;

    private static int maskBit = 1;

    private int mask;

    Modifier() {

        mask = maskBit; // 오류 - 생성자에서 정적 변수에 접근할 수 없다.

        maskBit *= 2;

    }

    ...

}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.