소프트웨어 설계
핵심024
관계(Relationships)
출제 빈도
6회
원본 10~11쪽
관계는 사물과 사물 사이의 연관성을 표현하는 것으로, 연관 관계, 집합 관계, 포함 관계, 일반화 관계, 의존 관계, 실체화 관계 등이 있다. 연관(Association) 관계연관 관계는 2개 이상의 사물이 서로 관련되어 있음을 표현한다. 집합(Aggregation) 관계집합 관계는 하나의 사물이 다른 사물에 포함되어 있는 관계를 표현한다. 포함(Composition) 관계포함 관계는 집합 관계의 특수한 형태로, 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계를 표현한다. 일반화(Generalization) 관계일반화 관계는 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현한다.
의존(Dependency) 관계의존 관계는 연관 관계와 같이 사물 사이에 서로 연관은 있으나 필요에 의해 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계를 표현한다.
일반적으로 한 클래스가 다른 클래스를 오퍼레이션의 매개 변수로 사용하는 경우에 나타나는 관계이다. 실체화(Realization) 관계실체화 관계는 사물이 할 수 있거나 해야 하는 기능(행위, 인터페이스)으로 서로를 그룹화 할 수 있는 관계를 표현한다.