[Java] 상속 vs 컴포지션


[Java] 상속 vs 컴포지션

상속(inheritance)과 컴포지션(composition) effective java item 18장을 보면 상속보다는 컴포지션을 사용하기를 권장한다. 왜 그럴까? 이번 장에서의 상속은 클래스가 다른 클래스를 확장하는 구현 상속을 의미한다. 인터페이스가 다른 인터페이스를 확장하는 인터페이스 상속과는 무관하다. class와 object들의 관계를 설정하는 데 사용되는 두가지에대해서 알아보자. 상속은 한 클래스를 다른 클래스에서 derive 즉 파생 시킨다. ex) extend 받은 확장된 클래스가 파생됨 컴포지션은 parts 즉 클래스를 구성하는 부분의 합으로 정의한다 ex) 클래스 필드 내에 private or public 필드로 클래스의 인스턴스를 참조하게 하고 해당 클래스를 구성하는 부분의 합으로..


원문링크 : [Java] 상속 vs 컴포지션