주요 개념
- 컴포지션(Composition)
- 한 클래스가 다른 클래스의 객체를 자신의 멤버 변수로 포함하는 관계를 의미합니다.
- "has-a" 관계로 표현되며, 객체들이 협력하여 더 복잡한 기능을 구현할 수 있게 합니다.
- 예시
- Controller 클래스가 Service 클래스를 멤버 변수로 포함하는 경우, Controller has an Service 이라고 표현합니다.
- 예시 코드
public class Controller {
private final Service service;
public Controller(Service service) {
this.service = service;
}
}
컴포지션 vs 상속
- 컴포지션
- has-a 관계를 나타내며, 클래스가 다른 클래스를 포함합니다.
- 상속(Inheritance)
- is-a 관계를 나타내며 클래스가 다른 클래스를 확장합니다.
Share article