6.13 컴포지션

  • 상속은 자식 is-a 부모 의 관계를 가진다.
  • 컴포지션 또는 어그리게이션은 X has-a Y를 나타낸다.
  • 오리 is-a조류 오리has-a꼬리
class Bill():
def __init__(self, description):
self.description = description
class Tail():
def __init__(self, length):
self.length = length

class Duck():
def __init__(self, bill, tail):
self.bill = bill
self.tail = tail
def about(self):
print('This duck has a', self.bill.description, 'bill and a', self.tail.length, 'tail')
tail = Tail('long')
bill = Bill('wide orange')
duck = Duck(bill, tail)
duck.about()

This duck has a wide orange bill and a long tail

Comments