728x90
반응형
enum class는 상수들의 모음이다.
아래와 같이 선언한다.
Enum Class
public enum OverTime{
THREE_HOUR(1800);
FIVE_HOUR(3000);
private final int amount;
OverTime(int amount){ //생성자 //생성자는 없어도 컴파일시 자동생성
this.amount = amount;
}
public int getAmount() {
return this.amount;
}
}
enum의 값들은 동적 변경이 불가능하다!!!
emun의 생성자는 private이나 default로만 선언이 가능하다. 즉, 외부에서 사용할 수 없다.
OverTime value = OverTime.FIVE_HOUR; // 선언과 동시에 생성
System.out.println(value); //FIVE_HOUR
System.out.println(value.getAmount()); //3000
동적으로 값을 할당할 수 없으니, 만약 3시간의 값이 18000에서 30000으로 올랐을 때 실행중인 자바 프로그램을 중지했다가 다시 컴파일하고 다시시작해야한다는 단점이 있다.
하지만, 성능은 enum을 쓰는것이 훨씬 좋다고 한다.
728x90
반응형
'java' 카테고리의 다른 글
[java] 티베로 실행 안되는 오류 해결 (0) | 2022.10.04 |
---|---|
[java] eclipse (EgovFramework) 실행 오류 해결 (0) | 2022.10.04 |
[java] Functional Interface : Consumer, Predicate 알아보기 (0) | 2022.08.04 |
[eclipse] unable to start within 45 seconds 오류 해결 (0) | 2022.07.20 |
[Java] POI 오류, "허용되는 글꼴 수가 초과되어 이 파일에 글꼴 서식이 제대로 적용되지 않을 수 있습니다." (2) | 2022.06.16 |