더북(TheBook)

4.3.2 생성자, 메서드, 필드


원한다면 열거 타입에 생성자, 메서드, 필드를 추가할 수 있다. 다음 코드를 보자.

public enum Size {

    SMALL("S"), MEDIUM("M"), LARGE("L"), EXTRA_LARGE("XL");


    private String abbreviation;


    Size(String abbreviation) {

        this.abbreviation = abbreviation;

    }


    public String getAbbreviation() { return abbreviation; }

}


열거의 각 인스턴스는 한 번만 생성된다.

Note ≣

열거의 생성자는 언제나 비공개다. Size처럼 private 제어자를 생략해도 된다. 하지만 열거 타입의 생성자를 public이나 protected로 선언하면 문법 오류가 일어난다.

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