우선, 우리가 볼 클래스 다이어그램이 UML의 한 종류이다. 우선 UML에 대해 살펴보면 다음과 같다.
: Unified Modeling Language
도메인(해결하고자 하는 목표)을 모델로 표현해주는 대표적인 모델링 언어
소프트웨어를 설계하며 필요에 의해 사용됨
UML 작성의 목적
의사소통 또는 설계 논의
전체 시스템의 구조 및 클래스의 의존성 파악
유지보수를 위한 설계의 back-end 문서 제작
: 클래스의 구성요소 및 클래스간의 관계를 표현하는 대표적인 UML
정적 다이어그램
시스템의 일부 또는 전체의 구조를 나타낼 수 있음
의존관계를 명확히 보여줌
순환 의존이 발생하는 지점을 찾아내서 어떻게 이 순환고리를 깰 수 있을지를 결정하게 해줌
문제 해결을 위한 도메인 구조를 나타냄 ➡ 추상적인 개념을 기술할 수 있음
소프트웨어의 설계 혹은 완성된 소프트웨어의 구현 설명

+ : public- : private# : protected접근제어자 클래스이름 : 타입 = 기본값- id : Long접근제어자 이름(파라미터 속성): 리턴값+ getPassword() : String+ update(CommentRequestDto) : void<<interface>><<abstract>>
: 우리가 알고 있는 일반적인 '상속'

: interface에 있는 기능을 오버라이딩하여 실제로 구현하는 것

📌 클래스 다이어그램에서 일반적으로 제일 많이 사용되는 관계!
: 클래스간의 참조가 일어나는 것
메소드 내에서 대상 클래스의 객체를 생성, 사용, 리턴받아 사용하는 것
참조는 해당 클래스와의 관계를 계속 유지하지는 않음

💡 주의
객체 참조 (dependency)는 계속 유지하지 않고, 메소드의 호출이 끝나면 의존관계의 클래스와 관계가 끝난다.
: 다른 객체의 참조를 가지는 필드
실선으로 표현
방향성이 존재하는 경우에는 화살표를 넣어 표현
둘의 연관관계가 어떻게 되는지 숫자로 표현할 수 있음
연관관계 숫자 표현
1 : 1개* : ~n개n...m : n부터 m까지 연관관계를 맺음
➡ 두 클래스의 관계
연관관계의 종류

-Phones : roleName(역할명) : 어떤 역할로 참조되는지를 의미함: Association의 특수한 관계
Aggregation
Composition
