Overview : UML(Unified Modeling Language)에서 클래스 간의 관계
. Generalization (일반화)
- 설명: Generalization은 클래스들 간의 상속 관계를 나타냅니다. 자식 클래스는 부모 클래스의 속성과 메서드를 상속받으며, 추가적인 기능이나 속성을 가질 수 있습니다.
- 표기법: 빈 삼각형 화살표로 표시되며, 화살표의 머리가 부모 클래스를 가리킵니다.
- 예:
Animal
클래스와Dog
,Cat
클래스 간의 관계.Dog
와Cat
은Animal
의 자식 클래스입니다. - 다이어그램 :
2. Realization (실현)
- 설명: Realization은 클래스와 인터페이스 간의 관계를 나타냅니다. 클래스는 인터페이스에 정의된 메서드를 구현합니다.
- 표기법: 빈 삼각형 점선 화살표로 표시되며, 화살표의 머리가 인터페이스를 가리킵니다.
- 예:
Vehicle
인터페이스와Car
클래스 간의 관계.Car
는Vehicle
의 인터페이스를 구현합니다. - 다이어그램 :
3. Dependency (의존성)
- 설명: Dependency는 한 클래스가 다른 클래스의 변화에 영향을 받는 관계를 나타냅니다. 의존 관계에 있는 클래스는 주로 다른 클래스의 메서드를 호출하거나 데이터를 참조합니다.
- 표기법: 점선 화살표로 표시되며, 화살표의 머리가 의존하는 클래스를 가리킵니다.
- 예:
Order
클래스가Customer
클래스를 사용하는 경우.Order
는Customer
에 의존합니다. - 다이어그램
4. Association (연관)
- 설명: Association은 클래스들 간의 구조적 관계를 나타냅니다. 연관 관계는 클래스들 간의 연결을 의미하며, 두 클래스가 서로 관련이 있음을 나타냅니다.
- 표기법: 실선으로 표시되며, 양쪽 끝에 역할 이름과 다중도를 표시할 수 있습니다.
- 예:
Teacher
클래스와Student
클래스 간의 관계. 한 명의 교사가 여러 명의 학생을 가르칠 수 있습니다. - 다이어그램:
5. Aggregation (집합)
- 설명: Aggregation은 전체-부분 관계를 나타내며, 부분이 전체에 포함되지만 생명 주기가 독립적입니다.
- 표기법: 빈 다이아몬드 화살표로 표시되며, 다이아몬드가 전체를 가리킵니다.
- 예:
Team
클래스와Player
클래스 간의 관계. 팀은 여러 선수로 구성됩니다. - 다이어그램:
6. Composition (합성)
- 설명: Composition은 전체-부분 관계의 특수한 형태로, 부분의 생명 주기가 전체에 종속됩니다.
- 표기법: 채워진 다이아몬드 화살표로 표시되며, 다이아몬드가 전체를 가리킵니다.
- 예:
House
클래스와Room
클래스 간의 관계. 집이 사라지면 방도 사라집니다. - 다이어그램:lu