열거형은 고정된 값의 집합으로 상속될 수 없지만 멤버 메서드와 변수를 정의할 수 있습니다. 인터페이스는 인스턴스화할 수 없지만 클래스에서 구현할 수 있는 메서드 및 상수 집합을 정의합니다. 인터페이스의 메서드는 선언만 가능하지만 구현할 수는 없지만 상수는 정의할 수 있습니다.
Java에서 열거형과 인터페이스는 모두 매우 유용한 언어 기능이지만 둘 사이에는 분명한 차이점이 있습니다.
표 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!