728x90
반응형
목차

참고
https://blog.visual-paradigm.com/what-are-the-six-types-of-relationships-in-uml-class-diagrams/
1. 클래스 다이어그램에서의 관계 형태

2. 각 관계
연관 (Association)
- 설명: 대표적인 유형, 클래스 간 일반적인 연결을 나타냄, 단방향 양방향 모두 가능
- 예시: 학생 usesA 교수님, 교수님 hasA 학생
- 표현: usesA / hasA
상속 (Inheritance)
- 설명: 하위 클래스가 상위 클래스의 모든 속성과 메서드를 상속받는 관계.
- 예시: 버스 isA 차량, 택시 isA 차량
- 표현: isA
실현/구현 (Realization/Implementation)
- 설명: 클래스는 해당 인터페이스의 모든 추상 메서드를 구현해야 한다.
- 예시: Vehicle 인터페이스가 drive 메서드를 정의하면, Car 클래스는 drive 를 구현해야한다.
- 표현: ---
의존 (Dependency)
- 설명: 한 클래스의 변경이 다른 클래스에 영향을 줌, "두 클래스 사이 연관성이 있다"
- 예시: 자동차 dependsOn 휘발유
- 표현: usesA / dependsOn
집합 (Aggregation)
- 설명: 부분-전체 관계(유연). 전체가 죽어도 부분은 생존. (팀을 구하지 못한 플레이어)
- 예시: 팀 hasA 플레이어
- 표현 : ownsA / hasA
구성 (Composition)
- 설명: 부분-전체 관계(밀접). 전체가 살아야 부분도 생존
- 예시: 집 consistsOf 방
- 표현: consistsOf / partOf
각 관계는 소프트웨어 설계에서 중요한 역할을 하며, 클래스들이 어떻게 서로 연결되어 있는지를 명확하게 이해하고 표현하기 위해 중요하다. UML에서 제공하는 이러한 표준화된 관계 유형들을 활용하면 보다 명확하고 체계적인 소프트웨어 설계가 가능하다.
반응형
'컴퓨터 과학 > 소프트웨어공학' 카테고리의 다른 글
[소프트웨어공학] SOLID: 객체지향 프로그래밍의 5가지 원칙 (0) | 2024.03.29 |
---|---|
[소프트웨어공학] SOLID(5) : 의존성 역전 원칙(Dependency Inversion Principle, DIP) (0) | 2024.03.29 |
[소프트웨어공학] SOLID(4) : 인터페이스 분리 원칙(Interface Segregation Principle, ISP) (1) | 2024.03.29 |
[소프트웨어공학] SOLID(3) : 리스코프 치환 원칙(Liskov Substitution Principle, LSP) (3) | 2024.03.29 |
[소프트웨어공학] SOLID(2) : 개방 폐쇄 원칙 (Open-Closed Principle, OCP) (2) | 2024.03.29 |