본문 바로가기
소프트웨어 공학 용어 정리

UML에서 연관, 일반화, 의존

by minhyeok.lee 2024. 10. 22.
반응형

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. 의존: 한 객체가 다른 객체의 기능을 사용하는 관계

반응형

댓글