private 대신 protect로 설정하는 경우 상속으로 인해 메서드가 재작성 될 수 있음을 인지하고 그에 따른 장단점을를 염두에 두고 설계되어야 한다. 오버라이딩으로 인해 예기치 못한 오류가 발생할 수 있다.
상속 받는 입장에서 protected로 지정하면 상속이 되는줄도 모르고 상속을 받는다. 오버라이딩하는 줄도 모르고 오버라이딩 될 수 있으므로 명시적으로(abstract를 사용하는 등) 추상적인 인터페이스를 제공하는 것이 좋다.
'개발 > Java' 카테고리의 다른 글
[Java] Generics (0) | 2020.05.23 |
---|---|
[Java] Primitive Type, Wrapper Class (0) | 2020.03.07 |
[Java] 불변(Immutable) 속성 (0) | 2020.02.04 |
[Java] 자바 네티이브 인터페이스(JNI) (0) | 2020.02.01 |
[JVM] 런타임 데이터 영역(Run-time Data Area) (0) | 2020.02.01 |