작성한 순서대로 0부터 값이 자동으로 부여된다.

열거 타입으로 선언된 인스턴스는 싱글턴으로 관리(단 하나의 객체만을 만들어서 관리)되며 인스턴스가 한 개임을 보장한다.
1-2. 단일 인스턴스임을 보장하기에 == 비교가 가능하다.

이름 충돌 방지를 위해 접두사를 쓰지 않아도 Enum 타입별로 네임 스페이스를 가진다.
동일한 이름의 상수 필드가 필요하면 네임스페이스를 다르게한다.
toString()을 이용하여 문자열로 변경하기 쉽다.

values()를 이용하여 상수 값 배열을 반환하고 이를 통해 연속 처리가 가능하다.
타입 안정성을 보장한다.
