❔ enum이란
열거체를 비교할 때 실제 값뿐만 아니라 타입까지 체크
열거체의 상숫값이 재정의되더라도 다시 컴파일할 필요 x
enum Week {
MON, TUE, WED, THU, FRI, SAT, SUN
}
public static void today(Week week) {
switch (week) {
case MON:
System.out.println("오늘은 월요일입니다.");
break;
case TUE:
System.out.println("오늘은 화요일입니다.");
break;
case WED:
System.out.println("오늘은 수요일입니다.");
break;
case THU:
System.out.println("오늘은 목요일입니다.");
break;
case FRI:
System.out.println("오늘은 금요일입니다.");
break;
case SAT:
System.out.println("오늘은 토요일입니다.");
break;
case SUN:
System.out.println("오늘은 일요일입니다.");
break;
}
}
public static void main(String[] args) {
today(Week.MON); // 오늘은 월요일 입니다.
}
enum Week {
MON(3),
TUE(5),
WED(1),
THU(7),
FRI(4),
SAT(2),
SUN(6);
int value;
Week(int value) {
this.value = value;
}
}
1) ordinal() 메소드
ex. System.out.println(Week.THU.ordinal()); // 2
2) name() 메소드
ex. System.out.println(Week.WED.name()); // WED
참고자료 :