✌️ Chapter 8: 조합을 이용해 객체 통합하기
- 객체지향 조합을 이용하면 간단하고 독립적인 객체를 보다 크고 복합적인 것으로 통합할 수 있다. 조합에서 좀 더 큰 객체는 자신의 부분들을 가지고 있다. 즉, 가지고 있는(has-a) 관계를 맺는다.
📚 자전거 부품 조합하기
- 6장의 마지막 코드를 사용한다.
🎈 Bicycle 클래스 업데이트하기
Parts
객체는 자전거 부품의 목록을 들고 있을 책임이 있다. (Bicycle
은Parts
객체에게sparse
메시지를 전송한다.)- 아래 코드는
Bicycle
클래스에Parts
객체를 들고 있는parts
변수를 추가해주고spares
를parts
에게 전달해준다.
class Bicycle
attr_reader :size, :parts
def initialize(args={})
@size = args[:size]
@parts = args[:parts]
end
def spares
parts.spares
end
end