개요 상속용 클래스 혹은 상속이 가능한 클래스를 설계할 때 고려해야 할 규약이 몇 가지 있다(여기서의 상속은 extends로 확장하는 구현 상속을 의미). 문서화하는 것, 충분한 검증이 이루어져야 하는 것, 그리고 몇 가지 구현상의 제약이다. 상속용 클래스를 설계하는 것은 많은 노력이 들고 그 클래스에 안기는 제약 또한 많으므로 설계 전 충분한 고민이 필요하다. 상속 대신 컴포지션을 사용하는 방법을 고려하는 것(아이템 18)도 그 고민 중 하나일 것이다. 상속을 고려하지 않은 일반적인 클래스를 작성할 때에도 여전히 누군가 임의로 확장해서 사용할 가능성이 있다. 따라서 이를 방지하기 위해 일반 클래스를 누군가 상속하지 못하도록 조치를 취해야 한다. 상속용 클래스 작성 규약 1. 상속용 클래스는 재정의할 수..