UML에서 클래스 간의 관계

Overview : UML(Unified Modeling Language)에서 클래스 간의 관계

. Generalization (일반화)

  • 설명: Generalization은 클래스들 간의 상속 관계를 나타냅니다. 자식 클래스는 부모 클래스의 속성과 메서드를 상속받으며, 추가적인 기능이나 속성을 가질 수 있습니다.
  • 표기법: 빈 삼각형 화살표로 표시되며, 화살표의 머리가 부모 클래스를 가리킵니다.
  • : Animal 클래스와 Dog, Cat 클래스 간의 관계. DogCatAnimal의 자식 클래스입니다.
  • 다이어그램 :

2. Realization (실현)

  • 설명: Realization은 클래스와 인터페이스 간의 관계를 나타냅니다. 클래스는 인터페이스에 정의된 메서드를 구현합니다.
  • 표기법: 빈 삼각형 점선 화살표로 표시되며, 화살표의 머리가 인터페이스를 가리킵니다.
  • : Vehicle 인터페이스와 Car 클래스 간의 관계. CarVehicle의 인터페이스를 구현합니다.
  • 다이어그램 :

3. Dependency (의존성)

  • 설명: Dependency는 한 클래스가 다른 클래스의 변화에 영향을 받는 관계를 나타냅니다. 의존 관계에 있는 클래스는 주로 다른 클래스의 메서드를 호출하거나 데이터를 참조합니다.
  • 표기법: 점선 화살표로 표시되며, 화살표의 머리가 의존하는 클래스를 가리킵니다.
  • : Order 클래스가 Customer 클래스를 사용하는 경우. OrderCustomer에 의존합니다.
  • 다이어그램

4. Association (연관)

  • 설명: Association은 클래스들 간의 구조적 관계를 나타냅니다. 연관 관계는 클래스들 간의 연결을 의미하며, 두 클래스가 서로 관련이 있음을 나타냅니다.
  • 표기법: 실선으로 표시되며, 양쪽 끝에 역할 이름과 다중도를 표시할 수 있습니다.
  • : Teacher 클래스와 Student 클래스 간의 관계. 한 명의 교사가 여러 명의 학생을 가르칠 수 있습니다.
  • 다이어그램:

5. Aggregation (집합)

  • 설명: Aggregation은 전체-부분 관계를 나타내며, 부분이 전체에 포함되지만 생명 주기가 독립적입니다.
  • 표기법: 빈 다이아몬드 화살표로 표시되며, 다이아몬드가 전체를 가리킵니다.
  • : Team 클래스와 Player 클래스 간의 관계. 팀은 여러 선수로 구성됩니다.
  • 다이어그램:

6. Composition (합성)

  • 설명: Composition은 전체-부분 관계의 특수한 형태로, 부분의 생명 주기가 전체에 종속됩니다.
  • 표기법: 채워진 다이아몬드 화살표로 표시되며, 다이아몬드가 전체를 가리킵니다.
  • : House 클래스와 Room 클래스 간의 관계. 집이 사라지면 방도 사라집니다.
  • 다이어그램:lu