관련이 있는 열거 상수들의 집합이다. 자바에서는 final로 값을 고정할 수 있다. 이 고정된 값을 상수라고 한다.
/* 월요일 == 1
화요일 == 2
수요일 == 3 */
private final static int MonDay = 1;
private final static int MonDay = 2;
private final static int MonDay = 3;
interface Day{
int MonDay = 1;
int TuesDay = 2;
int WendsDay = 3;
}
enum Day{
Monday, Tuesday ,Wednsday;
}
_ enum 클래스에 메소드도 포함 가능
Week day = Week.Monday;
Heap 영역에 Week 객체들이 각각 java.lang.Enum 클래스를 상속받는 고유 객체가 만들어진다. day 변수는 JVM의 Stack영역에서 사용하므로 Stack영역의 day와 Method 영역의 Monday 객체의 주소 값을 복사해 둘다 Heap 영역의 같은 객체를 바라본다.
-Enum 클래스 내부에 있는 상수들의 Index 를 리턴하는 메소드이다. 배열과 마찬가지로 0부터 인덱스가 시작하며 인덱스의 length 는 상수의 수 - 1 이다.