[Effective Java 3/e] 아이템 35 - odinal 메서드 대신 인스턴스 필드를 사용하라
아이템 35 - odinal 메서드 대신 인스턴스 필드를 사용하라
odinal
- 해당 상수가 열거 타입에서 몇 번째 위치인지를 반환하는 메서드
- odinal를 사용하여 순서를 가져오는 경우 상수 선언 순서를 바꾸는 순간 오동작 하며 유지보수가 힘듦
- 열거 타입 상수에 연결된 값은 ordinal 메서드로 얻지 말고, 인스턴스 필드에 저장하자.
public enum Ensemble {
SOLO(1), DUET(2), OCTET(8), TRIPLE_QUARTER(12);
private final int numberOfMusicians;
Ensemble(int size) { this.numberOfMusicians = size; }
public int numberOfMusicians() { return numberOfMusicians; }
}