열거타입은 한정된 값인 열거 상수(enumeration constant) 중에서 하나의 상수를 저장하는 타입입니다. 다음은 월, 화, 수, 목, 금, 토, 일이라는 7개의 값을 잦는 요일 데이터의 열거 타입 week을 선언한 것입니다.
public enum Week {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
여기서 Week는 열거 타입입니다. Week는 MONDAY부터 SUNDAY 열거상수를 저장할 수 있는 열거 타입입니다. 열거 타입은 기본타입이 아닌 참조 타입입니다. 그래서 첫문자를 대문자로 사용한 것입니다.
열거 타입 선언
열거 타입을 선언하기 위해서는 먼저 열거 타입의 이름을 정하고 해당 이름으로 소스파일(.java)를 생성해야 합니다. 열거타입은 관례적으로 첫글자를 대문자로 하고 나머지는 소문자로 구성합니다. 만약 여러단어로 구성된 이름이라면 각 단어의 첫글자는 대문자로 하는 것이 관례입니다. 이것을 camel notation이라고 합니다. 좀 전과 같은 Week 타입을 선언하려면 Week.java 화일을 생성해야합니다. 이것을 위해서는 이클립스에서 New를 선택한 다음에 Enum을 선택해야합니다. 일반적으로 .java를 만들기 위해서 Class를 선택하는 것과 다릅니다. 이것은 다른 타입선언과는 전혀 다른 형태입니다.
이 프로그램은 요일을 구하는 프로그램입니다. Calendar라는 API를 사용해서 요일을 구하는 코드입니다. Calendar를 사용하기 위해서는 import문을 사용해야합니다. Calendar에 있는 여러가지 메소드나 필드를 이용해서 위와 같이 요일을 구할 수 있습니다. import문을 사용하기 때문에 우리가 .java화일을 생성할 필요는 없습니다. DAY_OF_WEEK는 1부터 7까지의 정수를 받아오는데 1이 일요일이고 7이 토요일입니다. if문에서 today는 enum 변수이므로 enum 상수와 비교를합니다. enum 타입은 특정한 용도로 사용이 됩니다. 위의 예제처럼 요일이나 일자 등에서 많이 사용됩니다.
'프로그래밍 > Java 프로그래밍' 카테고리의 다른 글
자바의 필드와 생성자 (0) | 2020.07.07 |
---|---|
자바 클래스 (0) | 2020.07.06 |
자바의 배열과 향상된 for문 (0) | 2020.07.04 |
자바의 배열 (0) | 2020.07.03 |
자바 참조 타입과 참조변수 (0) | 2020.07.02 |