UML 클래스 다이어그램

주환서·2026년 1월 25일

1. 클래스의 구성요소

하나의 클래스는 보통 세 개의 칸으로 나뉜 박스로 표현합니다.

  • 상단: 클래스 이름

  • 중단: 속성(Attributes / 멤버 변수)

  • 하단: 메서드(Operations / 함수)

접근 제어자 표기법
클래스 다이어그램에서는 텍스트 대신 기호를 사용하여 접근 권한을 표시합니다.

  • +: Public (어디서든 접근 가능)

  • -: Private (해당 클래스 내부에서만 접근 가능)

  • #: Protected (상속받은 자식 클래스까지 접근 가능)

2. 클래스 간의 주요 관계

클래스 다이어그램의 핵심은 클래스들이 서로 어떻게 연결되어 있는지를 나타내는 '선'의 종류입니다.

1. 상속 (Generalization / Inheritance)
자식 클래스가 부모 클래스의 기능을 물려받는 관계입니다.

  • 표현: 실선과 끝이 빈 삼각형 화살표 (──▷)

  • 예시: '전사' 클래스가 '캐릭터' 클래스를 상속받음.

2. 실현 (Realization)
인터페이스를 실제로 구현하는 관계입니다.

  • 표현: 점선과 끝이 빈 삼각형 화살표 (- - ▷)

  • 예시: '플레이어' 클래스가 '이동 가능(IMovable)' 인터페이스를 구현함.

3. 연관 (Association)
한 클래스가 다른 클래스를 알고 있거나 참조하는 일반적인 관계입니다.

  • 표현: 실선 또는 화살표 (──>)

  • 예시: '선생님' 클래스가 '학생' 클래스를 참조함.

4. 의존 (Dependency)
한 클래스가 메서드 내부에서 일시적으로 다른 클래스를 사용하는 관계입니다.

  • 표현: 점선 화살표 (- - >)

  • 예시: Attack() 메서드 안에서 DamageCalculator 클래스를 잠깐 생성해서 계산함.

5. 집합(Aggregation) & 합성(Composition)
전체와 부분의 관계를 나타냅니다.

  • 집합 (Aggregation): 부분 객체가 전체 객체와 독립적으로 존재할 수 있음 (빈 마름모 ──◇)

  • 예: 축구팀과 축구선수 (팀이 해체되어도 선수는 존재함)

  • 합성 (Composition): 부분 객체의 생명주기가 전체 객체에 종속됨 (꽉 찬 마름모 ──◆)

  • 예: 캐릭터와 인벤토리 (캐릭터 데이터가 삭제되면 인벤토리도 사라짐)

3. 영웅은 절차적 UML 클래스 다이어그램

  • 저번주 구현해봤던 영웅은 절차적 탈출 게임을 UML 클래스 다이어그램으로 표현 해보기

0개의 댓글