상속보단 컴포지션을 사용하라 라는 멘토님의 질문을 듣고 인터넷에 이것저것 찾아봤다.그중에 가장 이해가 잘되는 블로그 를 보고 작성할 예정이다. 해당 내용은 Effective Java 에 Item 18에 나오는 내용이다. 언제 상속을 사용할까?상속은 "is-a" 관계를 표현할 때 유용하다.즉 "A는 B다" (개는 동물이다)처럼, 객체들이 완전히 같은 범주에 있을 때 사용이 가능하다. 아니면 확장 목적으로 설계되거나 동일한 프로그래머가 개발할때 등등 이유가 있다. 상속을 할떄 캡슐화가 꺠지는 경우 class Animal { public void makeSound() { System.out.println("Animal is making a sound."); }}class Dog ex..