열거 타입은 쉽게 말해서 한정된 값만을 가질 수 있는 타입이다.
일단 선언 방법부터해서 해당 코드가 어떤 의미인지 알아보았다.
//열거 타입 이름
public enum Week{
Monday,
Tuesday,
Wednesday,
Thursday, // 열거 상수들
Friday,
Saturday,
Sunday
}
Week라는 열거 타입 변수에 각 요일의 이름으로 열거 상수를 입력했다.
int i = 값; 라던가 String str = "값";은 한정된 값이 아니라 코드 작성자가 원하는 값을 마음대로 저장할 수 있다.
Week today = "금요일"; 이라고 작성하면 컴파일 에러가 난다. 그러므로 week 타입 today에 금요일을 저장하고 싶다면 열거타입 변수 = 열거타입.열거상수;로 작성해야한다.
Week today;
today =Week.Friday;
위 처럼 Week에 있는 Friday라는 열거 상수를 가져와 저장할 수 있다. 즉 열거 상수에 작성된 값만 저장할 수 있는 것이 열거 타입이다.
*참고용 코드
Week today = Week.Sunday;
today == Week.Sunday; // true