ex) public final static Day MONDAY = new Day(); //예전방식

enum Day{ MONDAY; } // enum클래스 사용

같은 의미를 가진 코드인데 가독성이 좋아지고 코드 수도 줄었다.

Enum의 장점

  1. 코드단순해지며 가독성이 좋아진다
  2. 허용 가능한 값을 제한하여 유형 안전을 제공
  3. 키워드 enum을 사용하기 때문에 구현의 의도가 열거임을 “분명히” 나타낼 수 있다
  4. 리팩토링변경 범위가 최소화된다
  5. 단순 상수와 비교해 IDE의 적극적인 지원가능
  6. enum은 본질적으로 Thread safe인 싱글톤 객체 이므로 싱글톤 클래스를 생성하는데에도 사용된다 →6번.무슨말인지 모르겠어서 나중에 여기에 대해 더 공부할 예정

Enum의 사용법