Enumeration의 앞 글자를 딴 약어로, 직역하면 열거라는 의미이다.
서로 관련있는 상수들을 모아서 대표 이름으로 클래스를 정의하고 활용하는데 사용한다!
→쉽게 말해 상수데이터들의 집합!
과거에는 대표적으로 상수를 final 제어자를 이용해 변수를 상수화 했다고 한다
final 제어자를 할당하여 한번 지정하면 바뀌지 않게 설정, 동시에 static을 사용하여
메모리에 한번만 할당 되게 설정하였다.
ex) private final static int MONEY = 1;
—> 이 방법은 접근제어자들 때문에 가독성이 좋지 못했다.
위에 문제를 없애기 위에 자바에서 상수만을 다루는 enum타입의 클래스를 만들어 배포한것이다!
ex) public final static Day MONDAY = new Day(); //예전방식
enum Day{ MONDAY; } // enum클래스 사용
같은 의미를 가진 코드인데 가독성이 좋아지고 코드 수도 줄었다.