Java의 열거(enum)는 상수 값 집합을 저장하는 데이터 유형입니다. 열거를 사용하여 한 주의 일, 1년의 월 등과 같은 고정 값을 저장할 수 있습니다.
enum 키워드 다음에 열거 이름을 −
로 사용하여 열거를 정의할 수 있습니다.enum Days { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }
배열과 마찬가지로 열거형의 요소/상수는 위의 예에서 0부터 시작하는 숫자를 사용하여 식별됩니다. 날짜는 다음 그림과 같이 숫자를 사용하여 식별됩니다. -
열거형은 클래스와 유사하며 그 안에 변수, 메서드 및 생성자가 있을 수 있습니다. 열거형에는 구체적인 메서드만 사용할 수 있습니다.
클래스 확장
모든 열거형은 모든 언어 열거형 유형의 기본 클래스인 Enum이라는 클래스를 내부적으로 확장합니다. Java는 다중 상속을 지원하지 않기 때문에 열거형으로 다른 클래스를 확장할 수 없으므로 컴파일 시간 오류가 생성됩니다.
예
다음 자바 스니펫에는 이름이 Sample인 클래스가 있고 Scooters라는 Enum 유형을 만들고 Sample 클래스를 확장하려고 했습니다.
import java.util.Scanner; class Sample { } enum Scooters extends Sample { }
출력
On executing, this class generates the following compile time error. D:\>javac EnumExample.java EnumExample.java:5: error: '{' expected enum Scooters extends Sample{ ^ EnumExample.java:5: error: ',', '}', or ';' expected enum Scooters extends Sample{ ^ 2 errors