[스터디] 오브젝트 – Chapter3: 역할, 책임, 협력

객체지향 패러다임의 관점에서 핵심은 역할, 책임, 협력이다. 객체지향의 본질은 협력하는 객체들의 공동체를 창조하는 것이다. 영화 예매 시스템에서 다양한 객체들이 영화 예매라는 기능을 구현하기 위해 메시지를 주고받으면서 상호작용한다. 이처럼 객체들이 기능을 구현하기 위해 수행하는 상호작용을 협력이라고 한다. 객체가 협력에 참여하기 위해 수행하는 로직은 책임이라고 한다. 객체들이 협력 안에서 수행하는 책임들이 모여서 객체가 수행하는 역할을 만든다. 협력 … Read more

[스터디] 오브젝트 – Chapter2: 객체지향 프로그래밍

객체지향 프로그래밍에서 고려할 점 대부분의 사람들은 클래스를 결정한 후에 클래스에 어떤 데이터와 메서드를 만들지 생각한다. 하지만 객체지향 프로그래밍은 말 그대로 객체를 지향하는 것이다. 클래스가 아니라 객체에 설계 초점을 맞춰야 한다. 객체지향 프로그래밍을 하는 동안 집중해야할 것 두 가지 어떤 객체가 필요한지 고민하기 클래스의 윤곽을 잡기 위해서는 객체가 어떤 상태와 행동을 가지는지 결정해야 한다. 객체는 기능을 … Read more

[스터디] 오브젝트 – Chapter1: 객체, 설계

티켓 판매 어플리케이션 Chapter1에서 간단하게 티켓 판매 어플리케이션 구현을 해본다. 그리고 객체지향 설계가 안 된 코드에서 어떤 문제가 생기는지 파악하고 문제를 개선한다. 티켓 판매 어플리케이션은 Invitation, Ticket, Bag, Audience, TicketOffice, TicketSeller, Theater 클래스로 구성된다. 각 클래스들은 역할이 존재한다. 대표적으로 Theater 클래스는 관람객을 입장시키는 역할을 가지고 있다. 이 역할은 enter 메서드에 구현되어 있다. public class Theater { private … Read more