"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Java에서 정적 메소드를 추상화할 수 없는 이유는 무엇입니까?

Java에서 정적 메소드를 추상화할 수 없는 이유는 무엇입니까?

2024년 12월 23일에 게시됨
검색:934

Why Can't Static Methods Be Abstract in Java?

Java에서 정적 메서드가 추상화될 수 없는 이유

Java 프로그래밍에서 정적 메서드는 추상화될 수 없습니다. 추상 메소드는 메소드에 선언은 있지만 구현은 없으며 기능을 제공하는 것은 서브클래스에 달려 있음을 의미합니다. 그러나 정적 메서드는 객체 인스턴스 생성 여부에 관계없이 본질적으로 클래스 자체와 연결됩니다.

다음 예에서는 추상 정적 메서드 관련 문제를 보여줍니다.

abstract class foo {
    abstract void bar(); // 

이유:

추상 키워드가 메서드 선언은 존재하지만 정의된 구현이 없음을 암시하기 때문에 모순이 발생합니다. 메소드가 정적이면 객체 인스턴스 없이도 클래스에서 직접 호출할 수 있음을 의미합니다. 이 개념은 메서드가 일반적으로 개체 인스턴스 및 해당 특정 상태와 연결되는 개체 지향 프로그래밍의 기본 원칙을 위반합니다.

정적 메서드는 클래스 정의 내에서 자체 구현을 가지므로 종속되지 않고 자체 포함됩니다. 클래스의 인스턴스에서. 따라서 이미 정의된 구현이 있으므로 정적 메서드를 추상화하는 것은 의미가 없습니다.

요약하면 정적 메서드의 정적 특성은 메서드를 선언하지 않고 메서드를 선언하는 추상 개념과 모순되기 때문에 추상화할 수 없습니다. 구현.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3