ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Is-a vs. has-a 의 선택
    카테고리 없음 2014. 3. 21. 05:17

    Is-a 를 선택을 하는 경우는 논리적으록 아니라 객체 설계의 입장에서 볼 때 Is-a 관계가 되는 지를 검토하여야 한다. 무조건 is-a 에 끼워 맞추려고 하기보다는 예외적인 것이 너무 많다고 생각이 되면 is-a 관계를 포기하는 것이 좋다.

    교재를 보면 hash table과 multi-hash table를 가지고 비교를 했는데 결론적으론 두개가 모두 가능할 때는 has-a 관계가 더 낫다는 결론을 내렸다.

    Is-a 관계로 보면 모든hash table은 multi-hash table이다. 라는 말이 사실이다. 그러니까 is-a 가 된다고 논리적으로 말할 수가 있다. 그러나 객체 설계 입장에서 보면 hash table이 유일한 키값을 갖는다는 것은 Hash table의 특징이다. Multi-hash table이 이를 single hash table로 표현할 수는 있지만 이때는 이미 Hash Table이 아니다.

    Is-a에서는 데이타를 입력하고 찾는 두가지 기능이 핵심기능인데 이 기능을 모두 override 해서 사용을 해야 한다. 뭔가 설계에 문제가 있다는 말이다.

Designed by Tistory.