임베디드 C를 주력으로 사용하던 저에게, C++을 이용하여 시스템을 유지보수할 기회가 생겼습니다. 이 기회를 통해, 단순히 새로운 언어를 습득하는 것이 아니라 객체지향의 핵심 원칙과 그것이 소프트웨어에 어떻게 영향을 미치는지 공부하고 싶어 스터디 하게 되었습니다.
하기 항목들은 공부한 내용을 정리한 것입니다.
- 객체, 설계
- 객체지향 프로그래밍
- 역할, 책임, 협력
- 설계 품질과 트레이드 오프
- 책임 할당하기
- 메세지와 인터페이스
- 객체 분해
- 의존성 관리하기
- 유연한 설계
- 상속과 중복코드
- 합성과 유연한 설계
- 다형성
- 서브클래싱과 서브타이핑
- 일관성 있는 협력
- 디자인 패턴과 프레임워크