Java의 정적 메서드 상속
Java에서는 정적 메서드가 상속되지 않는다는 주장에도 불구하고 코드는 그 반대를 보여줍니다. 이러한 모순은 다음과 같은 질문을 제기합니다. 정적 메서드는 실제로 상속됩니까?
이 명백한 역설을 이해하려면 Java의 멤버 상속 개념을 다시 살펴보는 것이 중요합니다. 책에 따르면 슈퍼클래스의 액세스 가능한 멤버("super"를 사용하지 않음)는 상속된 것으로 간주됩니다.
그러나 Sun Java Tutorials는 더 넓은 관점을 제공합니다.
이를 기반으로 정적 메서드는 본질적으로 공개이므로 상속됩니다. 간단한 이름으로 액세스할 수 있으며 특정 인스턴스에 바인딩되지 않습니다.
상속된 정적 메서드의 유일한 특징은 동일한 시그니처를 가진 새로운 정적 메서드가 하위 클래스에 도입될 때의 동작입니다. 이 경우 기존 정적 메서드는 재정의되지 않고 숨겨집니다. 이 동작은 하위 클래스에 특정한 정적 구현이 영향을 받지 않도록 보장합니다.
따라서 이 책의 멤버 상속에 대한 설명은 인스턴스 메서드와 정적 메서드 모두에 적용됩니다. 단, 정적 메서드는 항상 표시되고 상속됩니다. 슈퍼클래스에서 접근 가능 또한 숨겨진 정적 메서드에 액세스하는 방법은 호출이 슈퍼클래스에서 발생하는지 아니면 서브클래스에서 발생하는지에 따라 달라집니다.
위 내용은 정적 메소드는 실제로 Java에서 상속됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!