UML에서 연관(Association), 일반화(Generalization), 의존(Dependency)
UML(Unified Modeling Language, 통합 모델링 언어)에서 연관, 일반화, 의존은 객체 간의 관계를 표현하는 방법이다.
1. 연관(Association)
1. 정의
- 두 객체 간의 구조적 관계를 나타낸다.
- 하나의 객체가 다른 객체와 어떤 식으로 연결되어 있는지를 보여준다.
2. 특징
- 양방향 또는 단방향일 수 있다.
- 다중도(Multiplicity)를 통해 객체 간의 관계 수를 정의할 수 있다.
3. 예시
- 학생과 강좌간의 관계처럼 한 학생이 여러 강좌를 수강할 수 있고 하나의 강좌는 여러 학생을 가질 수 있다.
2. 일반화(Generalization)
1. 정의
- 일반화는 상의 클래스와 하위 클래스간의 관계를 나타낸다.
- 하위 클래스가 상위 클래스의 특성을 상속받는 것을 의미한다.
2. 특징
- is-a 관계로 표현된다. 예를들어 강아지는 동물이다.
- 하위 클래스는 상위 클래스의 모든 속성과 메서드를 상속받는다.
3. 예시
- 동물 이라는 상위 클래스와 이를 상속받는 고양이와 강아지 클래스가 있다.
3. 의존(Dependency)
1. 정의
- 한 객체가 다른 객체의 기능을 사용할 때 그 객체에 대한 의존 관계를 나타낸다.
- 주로 메서드 호출을 통해 관계가 형성된다.
2. 특징
- uses-a 관계로 표현된다. 한 클래스가 다른 클래스의 인스턴스를 사용하거나 참조할 때 발생한다.
- 의존 관계는 일반적으로 일시적이며, 한 객체가 다른 객체의 변경에 영향을 받을 수 있다.
3. 예시
- 자동차 클래스가 엔진 클래스를 사용하여 동작하는 경우
요약
1. 연관: 객체간의 구조적 관계
2. 일반화: 상위 클래스와 하위 클래스간의 상속 관계
3. 의존: 한 객체가 다른 객체의 기능을 사용하는 관계
'소프트웨어 공학 용어 정리' 카테고리의 다른 글
다형성(Polymorphism) (0) | 2024.10.23 |
---|---|
오버로딩(Overloading), 오버라이딩(Overriding) (0) | 2024.10.21 |
[SW 용어] Bit, Byte, Word 정리 (0) | 2024.05.29 |
[SW 용어] Mutex, Semaphore 정리 (0) | 2024.05.28 |
[SW 용어] 데이터 무결성, 정합성, 정확성, 완전성, 일관성, 유효성 (0) | 2024.05.27 |
댓글