관련된 상수들을 같이 묶어 놓은 것
- eunm 열거형이름 {상수명1, 상수명2, ...} 선언, 0부터 값이 부여
- 타입에 안전한 열거형을 제공(값과 타입 모두 비교)
- ==과 compareTo() 사용O, 비교 연산자 사용X ---> 열거형 상수는 객체이기 때문
- 모든 열거형은 Enum 클래스의 자손이다.
- 불연속적인 열거형 상수인 경우 원하는 값을 상수명(값)으로 적는다. 이때, 괄호를 사용하기 위해서 값을 넣을 private final 인스턴스 변수와 private 생성자를 새로 추가해야 한다.
기본 메서드
- values(): 열거형의 모든 상수를 배열로 반환
- name(): 상수명 반환
- ordinal(): 상수의 순서 반환(값이 아님)