Java에서 Enum에 대한 상속
Musfirah Waseem
2023년10월12일
Java에서 열거형
(열거형의 약식)은 고정된 상수 값이 설정된 데이터 유형입니다. 열거형 데이터 유형을 선언하기 위해 enum
키워드를 사용합니다.
enum
값을 대문자로 표시하는 것이 일반적입니다. Java에서 모든 enum
클래스는 기본적으로 final
입니다.
따라서 다른 클래스를 상속하거나 파생시킬 수 없습니다.
Java에서 enum
사용
enum Seasons { SUMMER, WINTER, AUTUMN, SPRING }
class Main {
public static void main(String[] args) {
System.out.println(Seasons.SUMMER);
System.out.println(Seasons.WINTER);
System.out.println(Seasons.AUTUMN);
System.out.println(Seasons.SPRING);
}
}
출력:
SUMMER
WINTER
AUTUMN
SPRING
위의 코드는 enum
데이터 유형의 기능을 표시합니다. enum
을 사용하면 모든 코드가 더 명확해지고 오류가 덜 발생합니다.
Enum
은 메뉴 기반 프로그램에서 또는 컴파일 시간에 가능한 모든 값을 알고 있을 때 널리 사용됩니다.
Java enum
상속
enum Seasons { SUMMER, WINTER, AUTUMN, SPRING }
class Main {
class Weather extends Seasons {
public static void main(String[] args) {
// statements
}
}
}
출력:
Main.java:8: error: cannot inherit from final Seasons
class Weather extends Seasons {
^
Main.java:8: error: enum types are not extensible
class Weather extends Seasons {
^
위의 코드는 enum
클래스를 사용하여 다른 기능 클래스를 파생시킬 수 없기 때문에 오류를 생성합니다.
enum
을 사용하여 인터페이스 구현
interface Weather {
public void display();
}
enum Seasons implements Weather {
SUMMER,
WINTER,
AUTUMN,
SPRING;
public void display() {
System.out.println("The season is " + this);
}
}
class Main {
public static void main(String[] args) {
Seasons.SUMMER.display();
}
}
출력:
The season is SUMMER
위의 코드에서 우리는 날씨
인터페이스를 구현하기 위해 열거형
클래스인 시즌
을 사용하고 있습니다. enum
클래스를 사용하여 인터페이스를 구현할 수 있으므로 enum
클래스 내부에 추상 메서드 display()
를 작성했습니다.
작가: Musfirah Waseem
Musfirah is a student of computer science from the best university in Pakistan. She has a knack for programming and everything related. She is a tech geek who loves to help people as much as possible.
LinkedIn