35. ordinal 메서드 대신 인스턴스 필드를 사용하라
✅ 1. ordinal()이란?
enum Day {
MONDAY, TUESDAY, WEDNESDAY;
}
Day.MONDAY.ordinal(); // 0
Day.TUESDAY.ordinal(); // 1✅ 2. 왜 사람들이 ordinal()을 쓰고 싶어할까?
ordinal()을 쓰고 싶어할까?예: 연주자 수 표현
public enum Ensemble {
SOLO, DUET, TRIO, QUARTET;
public int numberOfMusicians() {
return ordinal() + 1;
}
}❌ 3. ordinal()의 위험성
🧨 문제 1: 선언 순서가 바뀌면 결과가 깨진다
🧨 문제 2: 중간값을 비워둘 수 없음
🧨 문제 3: 같은 값을 가진 다른 이름 표현 불가
✅ 4. 해결책: 명시적인 필드를 사용하자
✅ 장점
문제
ordinal 방식
필드 방식
✅ 5. 요약
Last updated