34. int 상수 대신 열거 타입을 사용하라
✅ 1. 문제 제기: Java에서 고정된 값(요일 등)을 int로 표현하는 건 안전할까?
🔥 문제점
public static final int MONDAY = 0;if (day == Constants.MONDAY) → if (day == 0)✅ 2. enum의 기본 구조와 장점
public enum Day {
MONDAY, TUESDAY;
}🔧 자바 컴파일러는 내부적으로 이렇게 변환함:
🌟 장점
✅ 1. 인스턴스 통제
✅ 2. 컴파일 타임 타입 안정성
✅ 3. 클래스처럼 기능 확장 가능
✅ 3. 고급 기능 예시: enum은 상수 집합 그 이상이다
🎯 예시 1: 상수별 메서드 구현 (constant-specific method implementation)
🎯 예시 2: 상수별 데이터 포함
🎯 예시 3: 전략 열거 타입 (Strategy Enum)
✅ 전략 열거 타입의 장점
✅ 4. switch문은 정말 안 써야 할까?
✅ 5. 언제 enum을 쓰면 좋을까?
☑️ 컴파일 타임에 상수 집합이 정해져 있다면 → enum이 최적의 선택!
예시
적합도
✅ 6. 마무리
Last updated