
TIL
🌱 난 오늘 무엇을 공부했을까?
📌 UML
📍 Class Diagram
- 시간에 따라 변하지 않는 시스템의 정적인 면을 보여주는 대표적인 UML 구조 다이어그램
- 시스템을 구성하는 클래스들 사이의 관계를 표현한다.
- 관계를 나타내는 방법

- Association: 다른 객체의 참조를 가지고 있을 때 이러한 연관 관계
A → B 와 같이 방향이 있는 실선의 경우, A가 B를 참조한다는 의미입니다
- Inheritance: 상속 관계
- Realiztion/Implementation: 인터페이스(프로토콜)를 상속하여 클래스에서 실제 기능을 실현화 할 때 사용
- Dependency: 한 클래스가 다른 클래스와 의존관계일 때(매개변수, 타입으로 사용할 때)
- Aggregation: 한 클래스의 개체가 다른 클래스의 개체를 소유하거나 접근할 수 있음
- Composition: Aggregation와 비슷하지만, 두 개체의 Life Cycle이 동일

📍 Sequense Diagram
- 시퀀스 다이어그램(sequence diagram)은 시계열(시간 순서)로 정렬된 객체 상호작용을 보여준다.
- 시퀀스 다이어그램은 이벤트 다이어그램, 이벤트 시나리오라고도 부른다.
- 구성요소

- 액터(Actor) : 시스템으로부터 서비스를 요청하는 외부 요소로 사람이나 외부시스템을 의미
- 객체(Object) : 클래스의 객체
- 생명선(Lifeline) : 객체의 생성, 소멸, 활성화될 때를 나타내는 선 (위 -> 아래, 점선)
- 활성 박스(Activation Box) : 객체가 다른 객체와 상호작용하며 활성화 되고 있음을 표현 (직사각형)
- 메세지(Message) : 객체간 주고 받은 데이터, 일반적으로 요청(request)과 응답(response)로 구성
- 메시지

- 동기 메시지 (Synchronous message)
- 실선 + 내부가 채워진 화살표로 표기
- 리턴 받을 때까지 다른 동작없이 대기
- 비동기 메시지 (Asynchronous message)
- 실선 + 내부가 채워지지 않은 화살표로 표기
- 리턴을 기다리지 않고 다른 작업을 수행

- 자체 메시지 (Self message)
- 본인의 Lifeline으로 회귀하는 화살표를 그림
- 반환 메시지 (Reply/Return message)

참고
