Is Kind Of 관계(ISA 관계, 상속관계)
포유류 ← 고양이과 ← 호랑이 처럼 명확한 종속관계를 보일때 상속(extends)을 고려한다. 이를 Is Kind Of 관계 또는 ISA 관계라고 명칭하며, [호랑이 is 고양이과], [고양이과 is 포유류] 라고 표현하고, UML 상에서는 Generalization(△)으로 정의한다.
Has A 관계 (포함관계)
대부분의 자연계의 질서에서는 상속관계가 명확하지만, 인간 사회에 체계를 부여해야할 때는 그렇지 않은 경우가 많다. 가령 위의 관계도에서 Gun을 Police에게 상속한다면? Police의 자식클래스인 Nursing Police에게도 자동적으로 상속되기 때문에 문제가 생긴다.
따라서 필요한 경우에만 사용하는 Has A 관계를 적용해야 한다. 그리고 [Force Police has a Gun]이라고 표현하고, UML 상에서는 Aggregation(◇)으로 정의한다.
'Programming > Java * Spring' 카테고리의 다른 글
[Java] 09. 추상클래스(abstract) (0) | 2019.03.27 |
---|---|
[Java] 08. 매서드 오버라이딩(Method Overriding), 오버로딩과의 차이 (0) | 2019.03.26 |
[Java] 06. String, StringBuilder 속도 비교 (0) | 2019.03.25 |
[Java] 05. static 멤버의 접근 방법과 활용 (1) | 2019.03.20 |
[Java] 04. 접근 권한(Access Authority) (0) | 2019.03.20 |