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로 선언하면 문법 오류가 일어난다.