자바 열거형
열거
An 은 상수 그룹 (변수와 같이 변경할 수 없는 변수 ) enum
을 나타내는 특수 "클래스"입니다
.final
를 만들려면 클래스 또는 인터페이스 대신 키워드 enum
를 사용 하고 상수를 쉼표로 구분합니다. enum
대문자여야 합니다.
예시
enum Level {
LOW,
MEDIUM,
HIGH
}
점 구문 enum
을 사용하여 상수에 액세스할 수 있습니다 .
Level myVar = Level.MEDIUM;
열거 형은 열거형(enumerations)의 줄임말로 "구체적으로 나열됨"을 의미합니다.
클래스 내부의 열거형
enum
내부 클래스 를 가질 수도 있습니다 .
예시
public class Main {
enum Level {
LOW,
MEDIUM,
HIGH
}
public static void main(String[] args) {
Level myVar = Level.MEDIUM;
System.out.println(myVar);
}
}
출력은 다음과 같습니다.
MEDIUM
Switch 문의 열거
switch
열거형은 해당 값을 확인하기 위해 문 에서 자주 사용됩니다 .
예시
enum Level {
LOW,
MEDIUM,
HIGH
}
public class Main {
public static void main(String[] args) {
Level myVar = Level.MEDIUM;
switch(myVar) {
case LOW:
System.out.println("Low level");
break;
case MEDIUM:
System.out.println("Medium level");
break;
case HIGH:
System.out.println("High level");
break;
}
}
}
출력은 다음과 같습니다.
Medium level
열거형을 통한 루프
열거형에는 values()
모든 열거형 상수의 배열을 반환하는 메서드가 있습니다. 이 방법은 열거형의 상수를 반복할 때 유용합니다.
예시
for (Level myVar : Level.values()) {
System.out.println(myVar);
}
출력은 다음과 같습니다.
LOW
MEDIUM
HIGH
열거형과 클래스의 차이점
과 enum
마찬가지로 캔 class
에도 속성과 메서드가 있습니다. 유일한 차이점은 열거형 상수가 public
, static
및 final
(변경 불가 - 재정의할 수 없음)라는 것입니다.
An enum
은 개체를 만드는 데 사용할 수 없으며 다른 클래스를 확장할 수 없습니다(그러나 인터페이스를 구현할 수 있음).
열거형을 사용하는 이유와 시기는?
월 일, 일, 색상, 카드 데크 등과 같이 변경되지 않을 것으로 알고 있는 값이 있는 경우 열거형을 사용하십시오.