2017-04-04 16 views
0

동시에 재정의 및 과부하를 나타 냅니까? 클래스 B에"super"를 사용하는 재정의 메서드에서 Overriden 메서드를 호출하는 중입니다. 호출이 오버로드되는 중입니까?

public class A{ 
    void someMethod(){ 
    System.out.println("Class A's some method"); 
    } 
} 

class B extends A{ 
    void someMethod(){ 
    super.someMethod(); // does this line reperesnt overloading of super class method?? 
    System.out.println("Class B's some method"); 
    } 
} 
+1

Google에 '과부하'가 응답해야한다는 것을 Google에 알려 주면됩니다. 그렇게하지 않는 이유는 무엇입니까? – Tom

답변

4

이 코드 단편에는 메서드 오버로딩이 없습니다. 오버로드는 다른 인수 목록 (다른 수의 인수 또는 다른 유형의 인수)을 가진 두 개의 메소드가 동일한 이름을 가질 때 발생합니다.

그리고 덮어 쓰기는 클래스 A-someMethod()과 동일한 서명 및 액세스 수준을 갖는 방법을 갖는 클래스 B로 인해 간단하게 발생합니다. 해당 메서드의 B 구현이 A의 구현 (super.someMethod() 사용)을 실행하는지 여부가 달라지는 것은 아닙니다.

+0

우리는 행동이 과부하라고 말할 수 있습니까? – vinay

+0

@vinaybayyaram 그게 무슨 뜻인지 모르겠지만 과부하라는 용어는 Java에서 다른 의미를 지닙니다. – Eran