항목 40. 레이어링을 통해 가지고 있는 것과 사용하여 구현된것을 모델링하도록 한다.

이유
1. 클래스 디자인의 일관성과 편의성을 제공해주기 때문이다.

해결방법
1. is a 관계 계승과 has a 관계(is implemented in terms of 관계)의 차이점을 인지해라.

개인적인 생각
1. public 상속을 통해서도 구현은 가능하다. 하지만 일관성이 떨어진다. 이 일관성이 떨어지는 시점에서, 클래스 디자인은 무너지게 된다.
2008/07/18 12:15:47 추가 설명, 일관성이랑 is-a 관계의 일관성을 뜻한다.

2. 그래서 상속관계에 대해서는 충분히 사용법에 따라 분류해야 한다.
예) isa 와 hasa 의 차이점을 이해하여,

3. 사람은 한 손으로 다른것을 들고 있을땐, 그 손은 다른것을 들수 없으니, void* 포인터를 가지고 있을경우, 여러 필요한 것들을 장착하고 뺄수 있을듯 싶다. .. 이럴 경우 문제는 .. 현재 들고 있는것이 무엇인지 알수 없는 점인가.. 이건 좀 고려해보자.

2008/07/18 12:15:47 개인적인 생각
... 이건 뭐 정리도 아니고 .. 목차 쯤 되는 정리..? ㅋㅋ
 


신고
posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요