다음은 내 코드입니다. 나는 myMethod
메서드를 가진 추상 클래스 Myabatract
을 가지고 있고 서브 클래스가 MySubClass
인데 myMethod
을 재정의했다. 내 클라이언트 클래스에서 callMethod
이 myMethod
을 Myabatract
클래스로 직접 호출하고 싶습니다.이 방법이 가능합니까?Java에서 계층 구조가 아닌 클래스에서 추상 메서드를 호출하는 방법
abstract class Myabatract {
public void myMethod() {
System.out.println("This is from Myabatract");
}
}
class MySubClass extends Myabatract {
public void myMethod() {
System.out.println("This is from MySubClass");
super.myMethod();
}
}
class Client{
public void callMethod(){
}
}
왜이 작업을 수행 하시겠습니까? 그것은 OOP의 목적을 이기고 있습니다. 서브 클래스가 그 부모의 메소드를 오버라이드 (override)하고있는 경우는, 그 메소드가 제공 한 문맥에서만 의미가 있다고 말하는 것입니다. 서브 클래스가 수퍼 클래스의 메소드 구현을 사용해야 할 경우 메소드 오버라이드 내에서 적절하게 "super"를 호출해야합니다. – aruisdante