자식클래스에서 부모클래스의 메소드를 오버라이딩할 때 주의할 점이 있다.
- 접근 제한을 변경할 시, 부모클래스에서 보다 더 넓게만 가능하다.
class Parent {
public method() {..}
}
class Child extends Parent {
@Override
method() {...} // compile error
}
- 더 넓은 범위의 checked exception을 throw할 수 없다. unchecked exception(Runtime Exception)은 상관없다.
-> 부모클래스에서 예외를 명시하지 않았으면, 자식클래스에서는 unchecked exception만 새로 명시할 수 있다.
-> 부모클래스에서 checked exception을 명시했으면, 자식클래스에서는 같은 exception이나, 그 자식 exception, 혹은 새로운 unchecked exception만 명시할 수 있다.
'언어 > Java' 카테고리의 다른 글
자바 기본 - 인터페이스 (0) | 2021.11.29 |
---|---|
자바 Queue에서 비슷한 메서드 (0) | 2021.11.25 |
Java 기본 9 - 중첩 클래스/중첩 인터페이스/익명 클래스 (0) | 2021.11.10 |
for-each문과 for문의 차이 (0) | 2021.11.03 |
싱글톤 Singleton (0) | 2021.10.20 |
댓글