본문 바로가기
언어/Java

Java 기본 10 - 상속

by 넬준 2021. 11. 11.

자식클래스에서 부모클래스의 메소드를 오버라이딩할 때 주의할 점이 있다.

- 접근 제한을 변경할 시, 부모클래스에서 보다 더 넓게만 가능하다.

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만 명시할 수 있다.

 

 

댓글