Post

IntelliJ으로 클래스다이어그램 그리기

🎬 Intro

인텔리제이로 클래스 다이어그램을 그려 봅시다~

✅ 클래스 다이어그램

클래스들의 구조와 서로 간의 의존성을 보여주는 다이어그램 입니다. 클래스 다이어그램은 주로 아래와 같은 이유가 사용 됩니다

  • 전체 시스템의 구조와 클래스의 의존성을 쉽게 파악할 수 있습니다.
  • 다른 사람들과의 의사소통을 조금 더 명확하고, 세부적으로 논의를 할 수 있습니다.

즉, 자신이 구현한 코드의 구조를 상대방에서 명확하게 전달하고, 쉽게 이해할 수 있도록 돕기 위해 사용 됩니다.

✅ IntelliJ에서 클래스 다이어그램 그리기

🎯 IntelliJ 24.01 버전 기준

img.png

  • 다이어그램에 포함 될 클래스를 디렉토리 또는 파일 단위로 선택합니다
  • 마우스 우클릭을 하고 Diagrams -> Show Diagram을 선택합니다

img.png img.png

  • 위와 같은 화면이 나오게 되는데, 상단의 심볼에서 주로 사용되는 기능에 대한 설명은 아래와 같습니다.
    1. Fields : 클래스의 필드 변수들을 보여줍니다.
    2. Constructors : 클래스의 생성자를 보여줍니다.
    3. Methods : 클래스 내부의 모든 메서드들을 보여줍니다.
    4. Properties : 클래스 외부에서 접근 가능한 요소들을 보여줍니다.
    5. Inner Classes : 클래스 내부의 이너 클래스들을 보여줍니다.
    6. Show Dependencies : 클래스 간의 의존 관계를 보여줍니다.
    7. Fit Content : 화면의 사이즈를 다이어그램에 맞게 핏하게 맞춰줍니다.
    8. Export Diagram : 다이어그램을 이미지 파일, Mermaid, PlantUML 등 다양한 형식으로 Export 해줍니다. 저는 주로 이미지 파일로 Export하여 사용합니다.
    9. Refresh Data Model : 클래스의 내용이 변경되었을때 다이어그램의 데이터를 최신 상태로 새로고침 합니다.

img.png

  • 다이어그램이 위치한 화면을 우클릭하면 레이아웃을 선택할 수 있습니다.
  • 주로 Orthogonal을 많이 사용됩니다. 해당 레이아웃은 모든 연결선이 수직 또는 수평으로만 그려지고, 클래스 간의 관계가 90도 각도로 표현돼서 보다 깔끔하게 시각화가 됩니다.
  • Orthogonal 형식의 종류는 아래와 같습니다.
    • Compact: 다이어그램을 최대한 압축된 형태로 표시합니다. 불필요한 공간을 줄여서 더 깔끔하고 간단하게 보여줍니다.
    • Hierarchic Groups: 관련된 클래스들을 그룹으로 묶어서 계층적으로 표시합니다. 패키지나 모듈 단위로 그룹화되어 구조를 더 이해하기 쉽게 만듭니다.
    • Hierarchic: 클래스들 간의 상속 관계나 의존성을 계층적으로 표현합니다. 상위 클래스에서 하위 클래스로의 관계를 위에서 아래로 보여줍니다.
    • Orthogonal Groups: 클래스들을 직각 형태로 정렬하여 표시합니다. 다이어그램이 더 정돈되고 읽기 쉬워집니다.
    • Series Parallel: 클래스들 간의 관계를 직렬 또는 병렬로 배치합니다. 복잡한 의존성을 가진 클래스들을 더 체계적으로 보여줍니다. Channel: 클래스 간의 관계를 채널 형태로 표현합니다. 특히 데이터 흐름이나 의존성을 더 명확하게 보여주고자 할 때 유용합니다.
  • 저는 주로 Orthogonal Groups 또는 Compact를 사용합니다.

img.png

  • Appearance 옵션을 통해 배경의 그리드도 제거할 수 있습니다.

✅ 사용예시

  • Fields(1), Method(3), Show Dependencies(6) 표시
  • Orthogonal Groups 적용

1. Main

2주차_다이어그램_메인

2. util

2주차_다이어그램_유틸

3. constant

2주차_다이어그램_상수

This post is licensed under CC BY 4.0 by the author.