본문 바로가기
  • alert("Rocomi의 개발공부 블로그")
JAVA 공부

클래스 다이어그램

by Rocomi 2024. 7. 1.

자바에서 클래스 다이어그램은 객체 지향 프로그래밍의 개념을 시각적으로 표현하는 도구로, UML(Unified Modeling Language)의 일환입니다. 클래스 다이어그램은 시스템의 구조를 나타내며, 클래스, 인터페이스, 관계, 멤버 및 메서드를 포함합니다. 다음은 클래스 다이어그램의 주요 요소들에 대한 설명입니다.

1. 클래스(Class)

클래스는 객체의 설계도 또는 청사진입니다. 클래스 다이어그램에서 클래스는 사각형으로 표현되며, 세 개의 구획으로 나뉩니다:

  • 첫 번째 구획: 클래스의 이름
  • 두 번째 구획: 멤버(필드)
  • 세 번째 구획: 메서드

예시:

2. 멤버(Member)

멤버는 클래스의 데이터 멤버를 나타냅니다. 멤버는 클래스 다이어그램의 두 번째 구획에 나타납니다. 멤버의 접근 제어자는 다음과 같이 표시됩니다:

  • +: public
  • #: protected
  • ~: default
  • -: private

예시:

3. 메서드(Methods)

메서드는 클래스의 동작을 정의합니다. 메서드는 클래스 다이어그램의 세 번째 구획에 나타납니다. 메서드의 접근 제어자도 멤버과 같은 방식으로 표시됩니다.

예시:

4. 관계(Relationships)

클래스 다이어그램에서는 클래스 간의 관계를 나타내기 위해 다양한 종류의 선을 사용합니다.

상속(Inheritance)

상속 관계는 일반화 관계로도 불리며, 빈 삼각형 화살표로 표현됩니다. 하위 클래스가 상위 클래스를 상속받을 때 사용합니다.

구현(Realization)

인터페이스를 구현하는 관계는 점선과 빈 삼각형 화살표로 표현됩니다.

연관(Association)

연관 관계는 두 클래스 간의 연결을 나타내며, 보통 직선으로 표시됩니다. 방향을 나타내기 위해 끝에 화살표를 사용할 수 있습니다.

집합(Aggregation)과 합성(Composition)

  • 집합은 빈 마름모로 표현됩니다.
  • 합성은 채워진 마름모로 표현됩니다.

5. 예시 클래스 다이어그램

예를 들어, 학생(Student)과 강의(Course)를 나타내는 클래스 다이어그램을 살펴보겠습니다.

이 다이어그램에서:

  • Student 클래스와 Course 클래스가 있습니다.
  • Student 클래스는 name과 age 멤버를 가지며, 이를 접근하는 getName() 및 getAge() 메서드를 가집니다.
  • Course 클래스는 title과 code 멤버를 가지며, 이를 접근하는 getTitle() 및 getCode() 메서드를 가집니다.
  • 학생이 여러 강의를 수강할 수 있음을 나타내는 집합 관계가 있습니다.

이와 같이 클래스 다이어그램은 소프트웨어 시스템의 구조와 상호 작용을 시각적으로 이해하는 데 큰 도움이 됩니다.

'JAVA 공부' 카테고리의 다른 글

기본 API  (0) 2024.07.05
가비지 컬렉터(Garbage Collector, GC)  (0) 2024.07.05
다형성  (0) 2024.06.26
상속관계  (0) 2024.06.25
오버라이딩  (0) 2024.06.24