상속보다 컴포지션을 사용해야 하는 이유1 『Java』 상속보다 컴포지션을 사용해야 하는 이유 상속보다 컴포지션을 사용해야 하는 이유 상속이란 한 클래스가 다른 클래스를 확장하여 기능을 재사용하고 추가하는 것을 말한다. 반면에 컴포지션은 기존 클래스의 인스턴스를 새로운 클래스의 필드로 포함하여 기능을 사용하는 것을 말한다. 상속이 항상 나쁜 선택일까?다음과 같은 경우에는 상속을 사용해도 문제가 없다. 같은 프로그래머나 팀이 상위 클래스와 하위 클래스를 모두 통제할 수 있을 때상위 클래스가 상속을 고려하여 잘 설계되고 문서화되어 있을 때명확한 is-a 관계가 있을 때 (예: Dog는 Animal이다) 상속의 문제점, 캡슐화의 파괴 캡슐화는 객체의 내부 구현을 숨기고 공개된 인터페이스를 통해서만 상호작용하도록 하는 원칙이다. 상속을 사용할 때 하위 클래스는 상위 클래스의 내부 구현에 의존하게 .. 2024. 11. 20. 이전 1 다음