자바의 열거타입(enumeration type)이란?
열거체 정의는 enum 클래스용인 java파일로 선언, 타 클래스 내부에 선언, 클래스 외부에 선언 등으로 이용하고는 하는데,
일반적으로 열거체 정의용 java class 파일을 따로 만들어 사용하고는 한다.
서로 연관된 상수의 집합을 저장하는 자료형으로, enum 클래스 형을 기반으로 선언하여 준다.
예를 들어, Week라는 요일에 관한 열거 타입을 선언해보자.
// 열거 타입 선언
public enum Week
{ // 열거 상수
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
// 열거타입 변수;
Week today;
// 열거타입 변수 = 열거타입.열거상수;
Week today = Week.Sunday;
열거 상수도 객체이며, 위에서 정의한 열거 타입 Week의 경우 7개의 객체가 생성된다.
다음은 Calendar 클래스를 이용해 오늘의 요일을 얻고 열거상수를 대입하는 예제이다.
import java.util.Calendar;
public class EnumWeekExam {
public static void main(String [] args){
Week today = null;
Calendar cal = Calendar.getInstance();
int week = cal.get(Calendar.DAY_OF_WEEK); //일(1)~토(7)까지의 숫자를 리턴
switch (week){
case 1:
today = Week.Sunday; break;
case 2:
today = Week.Monday; break;
case 3:
today = Week.Tuesday; break;
case 4:
today = Week.Wednesday; break;
case 5:
today = Week.Thursday; break;
case 6:
today = Week.Friday; break;
case 7:
today = Week.Saturday; break;
}
System.out.println("오늘 요일: " + today);
if(today == Week.Saturday){
System.out.printf("토요일에는 강의를 듣습니다.");
}else{
System.out.printf("책을 읽습니다.");
}
}
}
출처
혼자 공부하는 자바
'Language > Java' 카테고리의 다른 글
자바 입출력과 관련 메서드에 대해 ARABOJA! (0) | 2022.01.06 |
---|---|
자바를 Job Uh!! - [다중 배열] (0) | 2022.01.03 |
자바를 Job Uh!! - [배열] (0) | 2022.01.03 |