개발_웹/Java

Java | 오버라이딩 (overriding, 재정의)

zuyo 2019. 5. 10. 21:44
반응형

메소드 오버라이딩 (재정의)

슈퍼 클래스의 메소드를 재정의 하는 것.
슈퍼 클래스의 메소드를 무시하고 서브 클래스에서 오버라이딩된 메소드가 무조건 실행되도록 동적으로 바인딩(binding) 된다.

오버라이딩의 조건
1. 슈퍼 클래스의 메소드와 완전히 동일한 메소드를 재정의한다. (이름, 리턴타입, 파라미터)
2. 슈퍼 클래스의 접근 지정자보다 접근의 범위가 좁아질 수 없다. (부모 default -> 자식 default, protected, public 가능)
3. static, private, final로 선언된 메소드는 오버라이딩 할 수 없다.

* 오버라이딩 된 메소드에서 슈퍼클래스의 메소드를 호출하려면 super를 사용한다.

@Override
func() {
        super.func();
}
반응형