>  기사  >  Java  >  Java 열거 유형과 인터페이스의 차이점은 무엇입니까?

Java 열거 유형과 인터페이스의 차이점은 무엇입니까?

王林
王林원래의
2024-05-01 10:42:02361검색

열거형은 고정된 값의 집합으로 상속될 수 없지만 멤버 메서드와 변수를 정의할 수 있습니다. 인터페이스는 인스턴스화할 수 없지만 클래스에서 구현할 수 있는 메서드 및 상수 집합을 정의합니다. 인터페이스의 메서드는 선언만 가능하지만 구현할 수는 없지만 상수는 정의할 수 있습니다.

Java 枚举类型与接口之间的区别是什么?

Java 열거형과 인터페이스의 차이점

Java에서 열거형과 인터페이스는 모두 매우 유용한 언어 기능이지만 둘 사이에는 분명한 차이점이 있습니다.

열거 유형

  • 열거 유형은 제한적이고 고정된 값 집합을 나타내는 데 사용되는 특수 데이터 유형입니다.
  • 열거형 유형의 각 값을 열거형 상수라고 합니다.
  • 열거형 유형은 최종 유형이며 상속될 수 없습니다.

Interface

  • 인터페이스는 일련의 메서드와 상수를 정의하는 참조 유형입니다.
  • 인터페이스는 인스턴스화할 수 없으며 클래스로만 구현할 수 있습니다.
  • 인터페이스의 메서드는 구현되지 않고 선언만 됩니다.

표 1: 열거 유형과 인터페이스의 차이점

인스턴스화실용 사례
특성 열거 유형 인터페이스
값 유형 고정 및 제한됨 변수, 필요에 따라 변경 가능 추가됨
상속 상속 불가 여러 클래스로 구현 가능
멤버 메서드 정의 가능 선언만 가능, 구현 불가
멤버 변수 상수를 정의할 수 있습니다 상수 및 메소드 정의 가능
인스턴스화 불가 인스턴스화 불가

열거 유형 예시

public enum DayOfWeek {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
}

인터페이스 예

public interface Shape {
    double getArea();
    double getPerimeter();
}

조각 유형 및 인터페이스의 예

public enum ShapeType implements Shape {
    CIRCLE {
        @Override
        public double getArea() {
            return Math.PI * radius * radius;
        }

        @Override
        public double getPerimeter() {
            return 2 * Math.PI * radius;
        }
    },

    RECTANGLE {
        @Override
        public double getArea() {
            return length * width;
        }

        @Override
        public double getPerimeter() {
            return 2 * (length + width);
        }
    }
}
이 예에서 인터페이스의

메서드는 원과 직사각형에 대한 특정 동작을 제공합니다.

위 내용은 Java 열거 유형과 인터페이스의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.