인터페이스는 Java의 객체 클래스에서 상속됩니까?
Java에서 인터페이스는 메서드 서명을 선언하고 추상 구현을 제공하기 위한 청사진 역할을 합니다. 일반적인 오해 중 하나는 인터페이스가 표준 클래스처럼 객체 클래스에서 상속되는지 여부입니다.
객체 클래스에서 상속 없음
일반적인 믿음과는 달리 인터페이스는 객체 클래스에서 직접 상속되지 않습니다. 객체 클래스. 이는 기본적으로 equals(), hashCode(), toString() 또는 wait()와 같은 메소드에 액세스할 수 없음을 의미합니다.
인터페이스에서 객체 클래스 메소드 호출
Object에서 상속받지 않더라도 인터페이스는 여전히 Object 클래스의 메서드를 호출할 수 있습니다. 이는 인터페이스가 이미 슈퍼인터페이스에서 이러한 메서드를 상속하지 않는 한 Object의 모든 공용 인스턴스 메서드에 해당하는 공용 추상 메서드를 암시적으로 선언하기 때문입니다.
예를 들어 다음 코드를 고려하세요.
<code class="java">interface Employee { } public class Test { public static void main(String[] args) { Employee e = null; e.equals(null); } }</code>
이 코드에서 Employee 인터페이스는 equals() 메서드를 명시적으로 선언하지 않습니다. 그러나 e.equals(null) 표현식은 Equals() 메소드가 Employee(및 다른 모든 인터페이스)에서 공개 추상 메소드로 암시적으로 선언되기 때문에 성공적으로 컴파일됩니다.
암시적 인터페이스 선언 이유 객체 메소드
인터페이스에서 객체 메소드를 암시적으로 선언하면 인터페이스가 더 넓은 Java 생태계와 원활하게 상호 작용할 수 있습니다. 이를 통해 인터페이스는 이러한 방법을 명시적으로 정의하지 않고도 객체 비교, 해싱, 문자열 표현 및 동기화를 위한 표준 라이브러리 방법을 활용할 수 있습니다.
위 내용은 Java 인터페이스는 객체 클래스에서 상속됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!