더북(TheBook)

실행결과 p1 shoots
Unable to shoot

p1 shoots again
bang bang!

p1 shoots again
Unable to shoot


경찰 객체가 생성될 때는 총을 가지고 있지 않습니다(#4). 그러므로 총을 쏠 수 없지요. 이후 acquire_gun() 메서드를 통해 총을 얻고 나서야 총을 쏠 수 있습니다(#5). 이후 release_gun() 메서드를 통해 총을 반납하므로 더 이상 쏠 수 없습니다(#6).

경찰과 총의 관계를 그림으로 나타내면 다음과 같습니다.

134

그림 7-3 경찰과 총은 통합 관계


그림 7-3은 HAS-A 관계의 Police 클래스와 Gun 클래스를 나타냅니다. 빈 다이아몬드 모양은 통합을 나타냅니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.