오브젝트

    3. 객체지향 패러다임의 핵심, 역할 책임 협력 | 오브젝트 3장

    3. 객체지향 패러다임의 핵심, 역할 책임 협력 | 오브젝트 3장

    객체지향 패러다임의 핵심은 역할, 책임, 협력이다. 클래스, 상속, 지연 바인딩은 구현 매커니즘일 뿐이다. 객체지향의 본질은 협력하는 객체들의 공동체를 창조하는 것이다. 1. 협력 객체지향 원칙을 따르는 애플리케이션의 제어 흐름은 다양한 객체들 사이에 균형 있게 분배된다. 다양한 객체들이 영화 예매라는 기능을 구현하기 위해 메시지를 주고받으면서 상호작용한다. 협력: 객체들이 기능을 구현하기 위해 수행하는 상호작용 책임: 객체가 협력에 참여하기 위해 수행하는 로직 역할: 객체가 협력 안에서 수행하는 책임들 메시지 전송은 협력을 위해 사용할 수 있는 유일한 커뮤니케이션 수단이다. 메시지를 수신한 객체는 메서드를 실행해 요청에 응답한다. 객체는 메시지를 처리할 방법을 스스로 선택한다. Screening은 Mo..

    2. 코드로 이해하는 객체지향 프로그래밍 | 오브젝트 2장

    2. 코드로 이해하는 객체지향 프로그래밍 | 오브젝트 2장

    이번 장은 뒤에서 다룰 다양한 주제들을 얕게 살펴보는 장이다. 온라인 영화 예매 시스템 예제를 다뤄보자. 1. 영화 예매 시스템 요구사항 영화 (movie) : 영화가 가지고 있는 기본적인 정보 상영 (screening) : 관객들이 영화를 관람하는 사건 할인 조건 (discount condition) : 할인 여부를 결정 순서 조건: 상영 순번을 이용해 할인 여부를 결정 (ex. 매일 10번째로 상영되는 영화에 대해 할인) 기간 조건: 상영 시작 시간을 이용해 할인 여부 결정 (ex. 매주 월요일 오전 10시부터 오후 1시 사이에 상용되는 영화에 대해 할인) 할인 정책 (discount policy) : 할인 요금을 결정 금액 할인 정책: 일정 금액을 할인 비율 할인 정책: 일정 비율의 요금을 할인 영..

    1. 코드로 이해하는 객체와 설계 | 오브젝트 1장

    1. 코드로 이해하는 객체와 설계 | 오브젝트 1장

    프로그래밍 패러다임은 특정 시대의 어느 성숙한 개발자 공동체에 의해 수용된 프로그래밍 방법과 문제 해결 방법, 프로그래밍 스타일이다. 이 책은 객체지향 패러다임에 관한 책이다. 이 책의 패러다임 전환이란 절차형 패러다임에서 객체지향 패러다임으로의 변화이다. C: 절차형 패러다임 Java: 객체지향 패러다임 LISP: 함수형 패러다임 PROLOG: 논리형 패러다임 각 패러다임과 패러다임을 채용하는 언어는 특정한 종류의 문제를 해결하는 데 필요한 일련의 개념들을 지원한다. 프로그래밍 패러다임에서는 두 패러다임이 공존할 수 있다. 이러한 언어를 다중패러다임 언어라 한다. C++: 절차형 패러다임 + 객체지향 패러다임 Scala: 함수형 패러다임 + 객체지향 패러다임 프로그래밍 패러다임은 혁명적이 아니라 발전적..