클래스간 관계 간단 정리

주로 UML로 표현되는 클래스 간의 관계에는 아래 7가지 관계가 있다.

일반화 관계(Generalization) 기반 형식과 파생 형식 사이의 관계.

"~이다."로 표현할 수 있는 형식 사이의 관계이다.

ex) "피아니스트는 음악가이다."

집합 관계(Aggregation)

컬렉션과 원소 사이의 관계이다. "가지고 있다."로 표현할 수 있는 형식 사이의 관계이다. 구성 관계와 달리 소유 개체와 피소유 개체가 만들어지는 과정을 별도로 진행한다.

ex) 필통은 연필과 지우개 등을 가지고 있다.

구성 관계(Composition)

포함 형식과 내부 형식 사이의 관계. "구성한다."로 표현할 수 있는 형식 사이의 관계이다. 집한 관계와 달리 소유 개체와 피소유 개체가 만들어지는 과정이 동시에 진행된다.

ex) 사람은 눈과 귀 등을 가지고 있다. 눈과 귀는 사람이 태어날 때 가지고 태어난다.

직접 연관 관계(Direct Associtaion)

명령을 내리는 형식과 이를 수행하는 형식 사이의 관계. ex) 고용주는 노동자에게 일을 시킨다.

연관 관계 (Association)

서로 상대를 알고 명령할 수 있는 관계이다. 프로그램에서 위험한 관계이며, 다른 안전한 관계로 바꿀 것을 권한다.

의존 관계 (Dependency)

원본 개체의 변화에 따라 의존 개체도 변화하는 형식 사이의 관계이다. ex) 회원 정보가 바뀌면 회원 컨트롤에 표시한 정보를 변경한다.

실현 관계 (Realization)

약속한 기능을 구현하는 관계이다.

참고

https://ehpub.co.kr/tag/%EA%B5%AC%EC%84%B1-%EA%B4%80%EA%B3%84composition/

Last updated