아니요, 수퍼 클래스의 메소드를 재정의하는 동안 두 메소드가 동일한 이름, 동일한 매개변수 및 동일한 반환 유형을 갖는지 확인해야 합니다. 그렇지 않으면 둘 다 다른 메소드로 처리됩니다.
간단히 말해서 서명을 변경하면 슈퍼 클래스의 메서드를 실행하려고 하면 슈퍼 클래스의 메서드를 재정의할 수 없습니다.
이유 - 시그니처를 변경하면 두 메서드 모두 다른 메서드로 간주되며 하위 클래스 개체에서 슈퍼 클래스 메서드의 복사본을 사용할 수 있으므로 실행됩니다.
예
class Super { void sample(int a, int b) { System.out.println("Method of the Super class"); } } public class MethodOverriding extends Super { void sample(int a, float b) { System.out.println("Method of the Sub class"); } public static void main(String args[]) { MethodOverriding obj = new MethodOverriding(); obj.sample(20, 20); } }
출력
Method of the Super class