클래스 다이어그램이란?
클래스 다이어그램은 객체지향 시스템의 정적 구조를 모델링하는 UML 구조 다이어그램입니다. 클래스, 속성, 메서드 및 그들 간의 관계(상속, 연관, 합성, 집합)를 보여줍니다. 클래스 다이어그램은 소프트웨어 아키텍처의 청사진 역할을 하여 개발자가 코드를 작성하기 전에 시스템 설계를 시각화하는 데 도움이 됩니다.
편집 및 미리보기
Mermaid 문법으로 클래스 다이어그램을(를) 작성하고 변경 사항을 즉시 확인하세요.
일반적인 사용 사례
소프트웨어 아키텍처 계획
구현 전에 애플리케이션의 구조를 설계합니다. 클래스, 책임, 상호작용 방식을 정의하여 유지보수 가능하고 확장 가능한 시스템을 구축합니다.
객체지향 설계
상속 계층, 인터페이스, 추상 클래스를 모델링합니다. 다형성, 캡슐화 및 Factory, Singleton, Observer와 같은 디자인 패턴을 시각화합니다.
코드 문서화
기존 코드 구조의 시각적 문서를 생성합니다. 새 팀원이 복잡한 클래스 계층 구조와 종속성을 빠르게 이해하도록 돕습니다.
데이터베이스 스키마 계획
객체 모델을 데이터베이스 테이블에 매핑합니다. ORM 모델이나 데이터베이스 스키마를 구현하기 전에 엔티티, 관계, 카디널리티를 식별합니다.
주요 기능
클래스 구조 정의
클래스 이름, 가시성 수정자(public, private, protected)가 있는 속성, 반환 유형과 매개변수가 있는 메서드를 정의합니다.
관계 유형
적절한 UML 표기법으로 상속(일반화), 연관, 집합, 합성, 종속성 관계를 모델링합니다.
인터페이스 및 추상 클래스
표준 UML 규칙과 스테레오타입을 사용하여 구체적인 클래스, 추상 클래스, 인터페이스를 구분합니다.
다중성 및 제약
관계 카디널리티(1..1, 1..*, 0..*)를 지정하고 비즈니스 규칙과 설계 결정을 명확히 하는 제약 조건이나 노트를 추가합니다.
모범 사례
핵심 클래스부터 시작
가장 중요한 도메인 엔티티로 시작하여 점차 지원 클래스를 추가합니다. 모든 것을 한 번에 모델링하려고 하지 마세요.
적절한 가시성 사용
속성과 메서드에 적절한 가시성을 표시합니다: + for public, - for private, # for protected. 이것은 캡슐화 결정을 문서화합니다.
관련 관계만 표시
의미 있는 관계만 포함합니다. 모든 클래스 상호작용을 표시할 필요는 없습니다—아키텍처적 중요성에 초점을 맞추세요.
다이어그램 집중 유지
하나의 거대한 다이어그램보다 다른 하위 시스템에 대해 여러 개의 작은 다이어그램을 만드세요. 각각은 명확한 스토리를 전달해야 합니다.
다른 다이어그램 유형 살펴보기
순서도
노드와 방향 화살표로 프로세스, 워크플로, 알고리즘을 시각화합니다. 비즈니스 프로세스와 의사결정 트리에 적합합니다.
시퀀스 다이어그램
시간에 따른 액터 또는 시스템 간의 상호작용을 문서화합니다. API 문서화와 시스템 설계에 이상적입니다.
상태 다이어그램
시스템이나 애플리케이션의 상태 전이를 표현합니다. 라이프사이클 상태와 워크플로 모델링에 적합합니다.
간트 차트
작업과 종속성으로 프로젝트 타임라인을 계획하고 추적합니다. 프로젝트 관리와 일정 관리에 완벽합니다.
ER 다이어그램
엔티티와 관계로 데이터베이스 스키마를 설계합니다. 데이터베이스 모델링과 문서화에 이상적입니다.
사용자 여정
터치포인트 전반에 걸친 사용자 경험과 상호작용을 매핑합니다. UX 설계와 고객 여정 매핑에 탁월합니다.
Git 그래프
Git 브랜치 전략과 커밋 히스토리를 시각화합니다. 버전 관리 워크플로 설명에 유용합니다.