Computer Science/객체지향

    [오브젝트] 역할 책임 협력

    이 글은 오브젝트 책 3장을 읽고 정리한 글입니다. 객체 지향의 패러다임의 핵심은 역할, 책임, 협력이다. 오늘은 이에 대해 정리하고 이야기 해보고자 한다. 먼저 객체 지향의 본질은 단순히 여러 기능을 클래스로 쪼개서 구현하는 것이 아닌 객체들의 공동체를 창조하는 것이다. 협력 객체들이 애플리케이션의 기능을 구현하기 위해 수행하는 상호작용이다. 이러한 상호작용을 통해 객체들은 더 큰 책임을 수행할 수 있게 된다. 이러한 상호작용에 의해 객체들의 행동이 결정이 된다. 이러한 협력은 객체를 설계할 때 일종의 문맥이 되기 때문에 서로 다른 객체들이 특정 협력으로 묶일 때는 이들을 협력하는 파트너로 생각하고 설계를 해야한다. 책임 객체가 협력에 참여하기 위해 수행하는 로직이다. 이러한 책임은 2가지로 구분될 수..

    [오브젝트] 객체지향 프로그래밍

    [오브젝트] 객체지향 프로그래밍

    이 글은 오브젝트 책 2장을 읽고 정리한 내용입니다. 1장에서는 객체지향적 코딩이 필요한 이유를 공부했었다. 2장은 이러한 객체 지향적 코딩을 하기 위해서 어떤 것을 고려해야하는지를 정리해놓았다. 객체지향을 위한 코딩을 진행할 때는 어떤 클래스가 필요한지를 고민하기전에 어떤 객체들이 필요한지 고민하라 객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협력하는 공동체의 일원으로 봐야한다. 이 두가지를 고려해야한다고 강조한다. 먼저 1번 문장을 이해해보자. 객체 고려하기 어떤 문제를 해결하기 위해 사용자가 프로그램을 사용하는 분야를 도메인이라고 한다. 이러한 도메인의 요구사항과 프로그램을 객체라는 관점에서 바라 볼 수 있기 때문에 객체를 구성하는 개념들이 프로그램의 객체와 클래스로 매끄럽게 이어질 수 있다..

    [오브젝트] 절차지향과 객체지향

    [오브젝트] 절차지향과 객체지향

    이 글은 오브젝트 책 1장을 읽고 정리한 내용입니다. 먼저 실습한 코드를 보면서 설명을 해보겠다. 실습 내용 추첨을 통해 선정된 관람객에게 공연을 무료로 관람할 수 있는 초대장을 발송하는 것이다. 다음 코드는 책에 1장 챕터 1에 나오는 예시이다. https://github.com/RicardoKim/CodePracticeForObject/tree/0584127153da5c40b75d991af28b0aaa14fc2882 GitHub - RicardoKim/CodePracticeForObject: 오브젝트 책을 공부하면서 코드 실습을 위한 레포입니다. 오브젝트 책을 공부하면서 코드 실습을 위한 레포입니다. Contribute to RicardoKim/CodePracticeForObject developme..