github:

하! 어케 정리해~

이번편은 이러한 개념이 있다고 알려주는 편~
다 이해할려고 하지 말고 편한 마음으로 정리하기! 

01. 영화 예매 시스템

요구사항 살펴보기

02 객체지향 프로그래밍을 향해

협력, 객체, 클래스

객체지향은 객체를 지향하는 것인데, 클래스를 먼저 결정 후 클래스에 어떤 속성과 메서드가 필요한지 고민하는건 객체지향의 본질과 거리가 멀다

⇒ 객체지향의 본질은 클래스가 아닌 객체에 초점을 맞추는 것

객체들의 공통된 특성과 상태를 가진 객체들을 타입으로 분류하고 타입을 기반으로 클래스 구현하는 것

  1. 어떤 클래스가 필요한지 고민하지 말고, 어떤 객체들이 필요한지 고민하라

객체들이 어떤 상태와 행동을 가지는지를 먼저 결정해야함

  1. 객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협력하는 공동체의 일원

객체는 홀로 존재하는 것이 아닌 다른 객체와 협력하는 존재

도메인의 구조를 따르는 프로그램 구조

도메인: 문제를 해결하기 위해 사용자가 프로그램을 사용하는 분야