개발공부/JAVA
[JAVA] Enum (열거 타입)
jnnjnn
2024. 4. 4. 17:00
열거타입이란?
Enum
몇가지로 한정된 값만을 갖는 타입이다.
한정된 값인 열거 상수를 가지고 열거 상수는 모두 대문자로 작성한다.
public enum Week{ // 열거 타입 이름
// 열거 상수 목록
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
열거 타입의 사용
열거 타입도 하나의 데이터 타입이므로 변수를 선언하고 사용해야 한다.
Week today;
Week reservationDay;
열거 타입 변수에는 열거 상수를 대입할 수 있는데, '열거타입.열거상수' 형태로 작성한다.
또한 열거 타입은 참조 타입이므로 null 값도 대입할 수 있다
Week today = Week.SUNDAY;
Week birthday = null;
다음은 Calendar를 이용해서 오늘의 요일을 얻는 예제이다.
열거 타입은 주로 switch문과 함께 사용한다
public class WeekExample {
public static void main(String[] args) {
Week today = null;
Calendar cal = Calendar.getInstance();
// 오늘의 요일 얻기(1~7)
int week = cal.get(Calendar.DAY_OF_WEEK);
// 숫자를 열거 상수로 변환해서 변수에 대입
switch (week) {
case 1 -> today = Week.SUNDAY;
case 2 -> today = Week.MONDAY;
case 3 -> today = Week.TUESDAY;
case 4 -> today = Week.WEDNESDAY;
case 5 -> today = Week.THURSDAY;
case 6 -> today = Week.FRIDAY;
case 7 -> today = Week.SATURDAY;
}
if (today == Week.THURSDAY) {
System.out.println("목요일 저녁에는 LCK를 봅니다");
} else {
System.out.println("열심히 자바를 공부합니다");
}
}
}