[11주차] enum
목차
자바의 열거형에 대해 학습하세요.
- enum 정의하는 방법
- enum이 제공하는 메소드 (values()와 valueOf())
- java.lang.Enum
- EnumSet
라이브 강의 Point
-
타입세이프티 (enum의 장점)

- ordinal에 의존한 코드는 위험하다. 값이 추가되면 ordinal이 변화될 수 있기 때문이다.
Enum.ordinal대신Enum.STRING을 사용해야 한다.
-
모든 Enum은 Enum 클래스를 상속받은 것이다.
-
순서를 지정할 때는
1,2,3...순이 아니라10,20,30...과 같이 중간을 비워둬야 값을 추가하기 용이하다. -
EnumSet.noneOf(Fruit.class) : 빈 EnumSet / EnumSet.allOf(Fruit.class) : 다 채운 EnumSet
-
Enum 싱글톤
- Enum은 묵시적으로 private 이기 때문에 (바이트 코드 확인해보면 private) 생성자 호출이 불가능하다