728x90
1. UML
- 시스템 개발을 위한 시각적인 설계 표기
- UML은 표준화된 모델링 언어 : 시각화, 명세화, 구축, 문서화 언어이다.
2. UML 다이어 그램
- 유스 케이스
- 클래스
- 순차
- 통신
- 활동
- 상태
- 컴포넌트
- 배치
- 패키지
3. 객체 지향 모델링
- 모델링 : 개발하고자 하는 프로그램을 시각적으로 표현한 것
- 객체 지향 모델링 : 객체 지향 시스템을 가시화하고 명세화, 문서화 하는 것이 목적인 모델링
- 소프트웨어 모델링 : 실제 생활에 일어나는 일을 소프트웨어적으로 모델링한 것
- 시스템 설계 시, 중요점 : 신뢰성, 확장성(유지보수)
4. 객체, 클래스, 메시지
- 메시지
- 객체간의 협력하기 위한 상호작용 수단
- 한 객체가 다른 객체에게 작업을 요청하는 신호
- 객체
- 1가지의 역할만 가지고 변하는 것과 변하지 않는 것을 분리시켜야된다. srp 원칙
5. 클래스
5.1. 구성 요소
종류 | 부호 |
public | + |
protected | # |
(default) | ~ |
5.2. 클래스 관계 구분
- 생명주기
- 복합 : 자동차,엔진,핸들 (같이 움직인다) (하얀거)
- 집합 : 팀과 멤버 관계 (별개) (까만거)
- 의존관계
- tv → 리모컨 : tv는 리모콘을 안다. 하지만 리모컨은 tv인지 라디오인지 모른다.
- →는 tv가 리모컨을 안다는 의미
- 양방향이면 안된다. 보통 매개변수로 사용
- 연관계계
- worker - company : 쌍방 참조. 좋은 관계는 아님 * 양방향, 순환관계 안좋은 관계
- 일반화, 특수화 관계 : 상속관계, kind-of, is-a
- 참고 블로그 : https://mydirectorystory.tistory.com/entry/5-%ED%81%B4%EB%9E%98%EC%8A%A4-%EA%B4%80%EA%B3%84-Class-Relationships
6. 디자인 패턴 핵심 23개 (공식적으로 중요한 것)
- template, factory, abstract 관계가 깊다.
- strategy, template method 관계가 깊다.
- 3,4,8번은 비슷
6.1. 개요
- 디자인 패턴은 일반적인 개념.어떤 종료의 클래스와 인터페이스가 등장하는가, 어떤 관계에 있는가 → 어떤 역할인지가 핵심
- 프로그램은 완성품이 아닌 기능을 확장해 가는 재사용 가능 한 것