이펙티브자바 아이템19
-
아이템19. 상속을 고려해 설계하고 문서화하라. 그러지 않았다면 상속을 금지하라책/이펙티브자바 2021. 8. 17. 13:38
상속을 고려한 설계와 문서화가 무엇일까 ? 메서드를 재정의하면 어떤 일이 일어나는지를 정확히 정리하여 문서로 남겨야 한다. 상속용 클래스는 재정의할 수 있는 메서드들을 내부적으로 어떻게 이용하는지 문서로 남겨야 한다. 클래스의 API로 공개된 메서드에서 클래스 자신의 또 다른 메서드를 호출할 수 도 있다. 그런데 마침 호출되는 메서드가 재정의 가능 메서드라면 그 사실을 호출하는 메서드의 API 설명에 적시해야 한다. 어떤 순서로 호출하는지, 각각의 호출 결과가 이어지는 처리에 어떤 영향을 주는지도 담는다. (재정의 가능이란 public과 protected 메서드 중 final 이 아닌 모든 메서드를 뜻한다.) 재정의 가능 메서드를 호출할 수 있는 모든 상황을 문서로 남겨야 한다. 문서화 "Implemen..