Java에서 Enum에 대한 상속

Musfirah Waseem 2023년10월12일
  1. Java에서 enum 사용
  2. Java enum 상속
  3. enum을 사용하여 인터페이스 구현
Java에서 Enum에 대한 상속

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 avatar Musfirah Waseem avatar

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

관련 문장 - Java Inheritance