본문 바로가기

정보처리기사

(정보처리기사 실기. 정리) 1. 요구사항 확인 - (12)UML의 관계(Relationship) 정리

반응형

(정보처리기사 실기. 정리) 1. 요구사항 확인 - (12)UML의 관계(Relationship) 정리

 

 

 

UML의 관계(Relationship) 정리 


 

 

 

1. 연관 관계 (Association)

정의: 두 개 이상의 사물이 서로 연결된 상태를 표현하는 관계.
특징:

  • 방향성을 가질 수 있음 (단방향/양방향).
  • 다중도를 사용해 관계에 포함된 객체 수를 명시.

기호:

  • 직선으로 연결
  • 방향성은 화살표로 표시
  • 다중도는 선 위에 표시

다중도 표기 예:

표기의미

1 연결된 객체가 단 하나.
n 연결된 객체가 여러 개.
0..1 객체가 없거나 하나만 존재.
0..* 또는 * 객체가 없거나 여러 개.
1..* 최소 한 개 이상.

그림:

  • 사람 ↔ 집
    lua
    코드 복사
    사람 1 ----- 0..* 집
     
     
     

 

 

 

2. 집합 관계 (Aggregation)

정의: **부분(Part)**과 **전체(Whole)**의 느슨한 포함 관계.
특징:

  • 구성 요소는 독립적으로 존재 가능.
  • 전체와 부분은 비구속적인 관계.

기호:

  • 빈 마름모(◇)로 연결

그림:

  • 컴퓨터와 프린터 
  • lua
    코드 복사
    컴퓨터 ◇----- 프린터
     
     
     

 

 

 

3. 포함 관계 (Composition)

정의: 전체(Whole)가 부분(Part)을 포함하며, 구성 요소가 없어지면 전체도 영향을 받는 관계.
특징:

  • 강한 결합 관계
  • 구성 요소는 독립적으로 존재 불가

기호:

  • 채워진 마름모(◆)로 연결

그림:

  • 문과 키 
  •  
  •  
  •  
  • lua
    코드 복사
    문 ◆----- 키
     
     
     

 

 

 

4. 일반화 관계 (Generalization)

정의: 상위 클래스(부모)와 하위 클래스(자식) 간의 상속 관계.
특징:

  • 하위 클래스는 상위 클래스의 속성과 기능을 상속받음.
  • 공통적인 특성을 상위 클래스에 정의.

기호:

  • 빈 삼각형 화살표(▷)로 연결 (화살표 방향이 상위 클래스)

그림:

  • 예술가 → 음악가, 화가
    markdown
    코드 복사
    예술가 △ / \ 음악가 화가
     
     
     

 

 

 

5. 의존 관계 (Dependency)

정의: 한 사물이 다른 사물의 변경에 영향을 받는 약한 결합 관계.
특징:

  • 의존하는 사물의 상태에 따라 작동.
  • 주로 단기적인 의존 관계.

기호:

  • 점선 화살표(---▷)

그림:

  • 학생 → 시험 점수
    lua
    코드 복사
    학생 ---▷ 시험 점수
     
     
     

 

 

 

6. 실체화 관계 (Realization)

정의: 인터페이스가 정의한 기능을 구현하는 클래스 간의 관계.
특징:

  • 인터페이스와 구현 클래스 간의 연결.

기호:

  • 점선 빈 삼각형 화살표(---▷)

그림:

  • 부서 인터페이스 → 부서 구현 
  •  
  •  
  •  
  • lua
    코드 복사
    부서 인터페이스 ---▷ 부서 구현
     
     
     

 

 

 

종합 도표

관계 유형기호설명

연관 관계 직선 (화살표 가능) 사물 간 연결
집합 관계 빈 마름모 (◇) 부분(Part)과 전체(Whole)의 느슨한 포함
포함 관계 채워진 마름모 (◆) 강한 포함 관계
일반화 관계 빈 삼각형 화살표 (▷) 상위/하위 클래스 간 상속 관계
의존 관계 점선 화살표 (---▷) 약한 결합 관계
실체화 관계 점선 빈 삼각형 (---▷) 인터페이스와 구현 클래스 간의 관계
반응형