JAVA
2023. 11. 8.
[JAVA] 상속과 조합
상속과 조합 어떻게 다를까? 상속 상속은 말 그대로 A라는 클래스가 부모가 되어 모든 역할과 구현을 B라는 클래스에게 노출하는 것이다. 따라서 B는 A와 강하게 결합된다. 상속은 반드시 is-A관계가 성립할 때만 사용되어야 한다. is-A 'B는 A다'가 성립해야 한다. 따라서 A의 캡슐화는 깨지고, 두 객체는 강하게 결합된다. 동물과 사자를 예로 들면, '사자는 동물이다'는 성립한다. 따라서 B는 반드시 A에서 파생되는 클래스여야 한다. 조합 조합은 위 A라는 특정 역할을 수행하는 객체를 B에서 멤버로 가지는 것을 말한다. 이때 B는 필요로 하지만, 본인의 역할을 벗어난 작업을 A에게 요청할 것이다. B는 A에게 요청을 보내고 응답을 받는 유연한 협력 관계를 설계할 수 있다. A는 B에게 필요한 역할을..