본문 바로가기

객체지향프로그래밍

(2)
오브젝트 5장. 책임 할당하기 4장 요약 데이터 중심 설계는 고립된 객체 상태에 초점을 맞추어 협력 문맥을 무시하기 쉽다. 따라서 캡슐화 위반, 결합도 증가, 유연성 감소를 가져온다. 데이터가 아닌 책임에 초점을 맞춰야 한다. 책임 주도 설계를 향해 행동(메세지)을 먼저 결정하라. 클라이언트 관점에선 행동이 곧 책임이다. 협력이라는 문맥 안에서 책임을 결정하라 책임은 객체가 참여하는 협력에 적합해야 한다. 메시지를 결정한 후 객체를 선택해야 한다. 메세지가 존재하기 때문에 메세지를 처리할 객체가 필요한 것이다. 메시지가 객체를 선택하게 해야 한다. 메세지는 클라이언트의 의도를 표현한다. 메세지를 먼저 표현하면, 수신자에 대한 어떠한 가정에서도 자유로워진다. (깔끔한 캡슐화) 책임 주도 설계 시스템이 사용자에게 제공해야 하는 기능인 시..
오브젝트 3장 역할, 책임, 협력 정리 오브젝트 - YES24 오브젝트 - YES24 역할, 책임, 협력을 향해 객체지향적으로 프로그래밍하라!객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두번째 걸음은 객체를 www.yes24.com 2장 요약 클래스, 추상 클래스, 인터페이스를 이용해 객체지향 프로그램을 구조화한다. 상속, 지연바인딩, 컴파일 시간 의존성(인터페이스, 추상클래스)과 실행 시간 의존성(클래스)를 이용한 다형성. 이는 "구현"에 대한 이야기. 핵심은 역할(role), 책임(responsibility), 협력(collaboration) 객체지향의 본질은 협력하는 객체들의 공동체를 창조하는 것. 어떤 협력, 역할, 책임이 필요한지 고민 전에 구현하는 것은 변경하기 어렵고 유연하..