KwanIk Devlog
[오브젝트] Chapter 3. 역할, 책임, 협력
개발서적/오브젝트 2023. 3. 8. 21:29

0. 복습 다형성은 지연 바인딩(lazy binding) 매커니즘을 통해 구현된다 지연 바인딩: 메시지에 응답하기 위해 실행될 메서드가 컴파일 타임이 아닌 런타임에 결정되는 것 상속은 코드 재사용에 있어 가장 널리 알려진 방법이지만, 캡슐화의 측면에서 합성이 더 좋은 방법이다 유연한 객체지향 프로그램을 위해서는 컴파일 타임 의존성과 런타임 의존성이 달라야 한다 1. 들어가며 객체지향의 본질은 협력하는 객체들의 공동체를 창조하는 것으로, 객체지향 설계의 핵심은 협력을 구성하기 위해 적절한 객체를 찾고 적절한 책임을 할당하는 과정에서 드러난다. 기능을 구현하기 위해 어떤 협력이 필요하고 협력을 위해 어떤 역할과 책임이 필요한지를 고민하지 않은 채 이른 시기에 구현에 초점을 맞추는 것은 변경하기 어렵고 유연하..

article thumbnail
[오브젝트] Chapter 2. 객체지향 프로그래밍
개발서적/오브젝트 2023. 3. 6. 22:21

01. 영화 예매 시스템 영화 예매 시스템을 구현하면서 객체지향 프로그래밍에 대한 개념을 잡아본다. 1) 요구사항 정의 영화: 영화에 관련된 기본 정보(제목, 상영시간, 가격정보, ...) 상영: 실제로 관객들이 영화를 관람하는 사건 할인조건: 가격의 할인 여부(순서조건, 기간조건), 할인 정책에는 다수의 할인 조건을 설정할 수 있음 순서조건: 상영 순번을 이용해 할인 여부를 결정 기간조건: 영화 상영 시작 시간을 이용해 할인 여부를 결정 할인정책: 할인 요금을 결정, 영화당 하나의 할인 정책만 할당할 수 있음 금액 할인 정책: 예매 요금에서 일정 금액을 할인해주는 방식 비율 할인 정책: 정가에서 일정 비율의 요금을 할인해주는 방식 02. 객체지향 프로그래밍을 향해 진정한 객체지향 프로그래밍으로의 전환은..

article thumbnail
[오브젝트] Chapter 1. 객체, 설계
개발서적/오브젝트 2023. 2. 22. 18:38

보다 유연하고 확장성 있는 설계를 하기 위해 나는 과연 객체에 대해서 온전히 이해하고 있을까? 사내스터디로 조영호님의 오브젝트라는 책을 공부하게 된 배경이다. Chapter 3를 통해 언급될 역할, 책임, 협력은 실생활에서도 적용된다고 보는데, 내가 회사에서 맡고 있는 역할과 책임을 다하기 위해 그리고 보다 나은 협력을 구축하기 위해 공부하고 있는 내용을 블로그에도 추가적으로 정리하고자 한다. 앞으로 해당 카테고리에 기재할 내용들은 모두 앞서 말한대로 조영호님의 오브젝트 책을 보고 공부한 내용을 정리한 게시글들입니다. 반드시 기억해야 할 내용들을 요약함과 동시에, 공부하며 든 생각을 함께 정리합니다. Chapter 01. 객체, 설계 여느 공학보다 상대적으로 짧은 역사를 가지고 있는 소프트웨어 분야는 이..

반응형