1. 구성이란?
다른 클래스의 인스턴스를 클래스의 필드로 가지는 디자인 기법 ex) 롯데리아 햄버거의 public class BurgerSet { //has 관계. Burger와 Coke를 가짐 private Burger burger; private Coke coke; > 여러 클래스에서 코드를 재사용할 수 있음 > final로 선언된 클래스에서도 코드 재사용이 가능 > 노출 x > has - a 관계
2. has- 관계 (컴포지션)
~은 ~을 가지고 있다. 와 같은 관계 ex) 자동차는 엔진을 가지고 있다. 집은 욕실을 가지고 있다. = 포함 (의존)관계!! >> 자동차야, 너 엔진(추상화x)이야? 안된다! 다형성이 성립하는 건 is 관계! >> 엔진 ---생성자 주입 ----> 자동차 (상속 받아서 쓰는게 아니라 new해서 전달)
2-1. is- 관계 (상속)
자동차야 너 탈 것(추상화)이야? yes > is관계 > 다형성 성립! 상속 가능
Share article