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

+ Recent posts