enum에 한글을 지정하거나 데이터 타입 호환성을 위해 다른 상수를 추가로 지정할 수 있다.
public enum EnumDay {
SPRING("봄"),
SUMMER("여름"),
WINTER("겨울");
private String season;
private EnumDay(String season){
this.season=season;
}
public String KOSeason(){
return season;
}
}
public class Main {
public static void main(String[] args) {
EnumDay day =EnumDay.SUMMER;
System.out.println(day); //SUMMER
System.out.println(day.KOSeason()); //여름
}
}
enum은 내부적으로는 private static final 객체 = new 객체(); 와 같은 식으로 구성되어 있기에
클래스 로딩시 정적 불변 클래스로 생성된다.
또한 enum의 생성자는 암묵적으로 private 이기에 각 상수가 단일 인스턴스로 유지되고
생성자에서 필드 값을 초기화해주면 추가 메서드를 통해 맵핑해둔 다른 값을 불러올 수 있다.
객체 참조 해제, Java 참조 유형 (0) | 2025.03.06 |
---|---|
클래스 빌더 패턴 (2) | 2025.03.04 |
자바 클래스 정렬 기준 설정. PriorityQueue, sort. Comporable, Comporator (코테준비) (0) | 2024.10.20 |
Object Class, 불변객체, String (0) | 2024.03.30 |
상속, 다형성 (0) | 2024.03.30 |