Overview
UML 기초를 보고 정리하기
UML
- Unified Modeling Language
- 그래픽 표기법
- 여러 다이어그램 정의
- 클래스 D, 패키지 D, 객체 D, 시퀀스 D, 액티비티 D, 컴포넌트 D, 배치 D
- 소프트웨어 시스템 표현, 설계에 사용
- 의사소통 도구로 활용하기에 좋음
클래스 다이어그램
- 객체의 타입을 표현
- 타입간의 정적 관계 기수
- 설계할 때 자주 사용하는 다이어그램 중 하나
클래스, 속성, 오퍼레이션

- 필요한 것만 선택적으로 표시한다.
- 속성: 클래스의 필드
- 오페레이션: 클래스의 메소드
속성
가시성 이름 : 타입 = 기본값
가시성
+ : public
- : private
# : protected
~ : package
예시
-id: String
- : private
id : 이름
String : 타입
오퍼레이션
가시성 이름(매개변수 목록): 리턴 타입
예시
+changeShippingAddress(newAdd: Address)
+ : public
changeShippingAddress : 이름
(newAdd: Address): 매개변수 목록
return : void
예시
+totalAmounts():long
+ : public
totalAmounts : 이름
(): 매개변수 목록
return : long
연관 (association)

- 두 클래스간 연관이 있다.
- 양 단에 역할명을 작성할 수 있다.
연관 탐색(nevigation)

- Order 에서 OderLine으로 탐색이 가능하다.
의존(dependency)

- Controller 클래스가 Handler 클래스에 의존한다.
인터페이스, 추상 클래스

- <<인터페이스>>
- AbstractList
- Interface를 어떤 클래스가 구현하는 것은 realization이라고 부름
- 관계 : AbstractList 가 <<인터페이스>> 를 realization하고 있다.
- 관계 : ArrayList가 AbstractList를 상속하고 있다.
Aggregation, Composition

- Composition 이 좀 더 강한 소유를 뜻함.
- Aggregation 다른 클래스와 공유가 가능한 약한 소유를 뜻함.
- 관계 : Player 가 Team에 강하게 소속되어 있지 않음. 여러 팀에 소속되는 것도 가능
정리
- 클래스 다이어그램은 정적인 구조를 표현
- 전달하고자 하는 내용 위주로 표시
- 반드시 모든 것을 다 표시해야 하는 것은 아님