CODEDRAGON ㆍDevelopment/Java
오버라이딩(Overriding)
· 오버라이딩은 메서드 재정의라고도 불리며 이는 서로 상속관계로 이루어진 객체들간의 관계에서 비롯됩니다.
· Inherited methods can be overridden; instance variables cannot be overridden (although they can be redefined in the subclass, but that’s not the same thing, and there’s almost never a need to do it.
· super클래스가 가지고 있는 메서드를 sub클래스에서 똑 같은 것을 새로 만들게 되면 더 이상 super클래스에 있는 이름이 같은 메서드로 호출할 수 없게 됩니다. 이를 오버라이딩 또는 멤버 은폐라고도 합니다.
· 다시 정리하면, 상위 클래스에 정의된 메소드의 이름, 반환형, 매개변수 선언까지 완전히 동일한 메소드를 하위 클래스에서 다시 정의하는 것으로 하위 클래스에 정의된 메소드에 의해 상위 클래스의 메소드는 가리워집니다.
· When a method is overridden in a subclass, and that method is invoked on an instance of the subclass, the overridden version of the method is called. (The lowest one wins.)
재정의된 멤버 함수의 호출 순서
Phoenix p; p.sleep(); // Animal의 sleep() 호출 p.sound(); // Bird의 sound() 호출 p.move(); // Phoenix의 move() 호출 |
오버라이딩 사용 이유
재사용성
'Development > Java' 카테고리의 다른 글
ZeroR을 통한 BaseLine 모델 평가 (0) | 2020.02.26 |
---|---|
BaseLine accuracy (0) | 2020.02.20 |
Weka 에러 메시지 Cannot instantiate the type Instance, 해결방법 (0) | 2020.02.13 |
인터페이스의 추상 메소드 구현시 TIP (0) | 2020.02.08 |
결측속성 삭제를 위한 결측률 찾기 (0) | 2020.02.01 |