본문 바로가기

개인 공부/객체지향의 사실과 오해3

[객체지향의 사실과 오해] 4장 : 역할, 책임, 협력 🙋 들어가며 모든 일에는 일련의 흐름이 존재합니다. 연애를 하고 싶다고 무작정 고백하면 그냥 혼쭐 내는 것과 다를 바가 없습니다. 서로를 알아가는 썸이라는 단계를 밟고 고백을 해야만 비로소 연애를 시작할 수 있습니다. 객체지향의 세계에서도 마찬가지입니다. 먼저 객체의 행동과 상태을 고려하는 것은 고백으로 혼내주는 것입니다. 우리는 도메인을 먼저 분석하고 어떤 흐름으로 해결할지 고민하는 것이 중요합니다. 이 흐름이 바로 문맥(Context)입니다. 객체지향 세계에서 객체들은 문맥을 속에서 서로 협력합니다. 이번 장에서는 바로 문맥에 맞게 협력을 고려하기가 주제이자 핵심입니다. 🗣️ 협력 객체가 협력하는 가장 중요한 이유는 동일한 목적을 이루기 위함입니다. 그렇다면 왜 협력이 중요할까요? 간단한 예로 들.. 2023. 6. 19.
[객체지향의 사실과 오해] 2장 : 이상한 나라의 객체 🧐 객체지향의 패러다임? 2장을 펼쳤을 때, 가장 먼저 눈에 들어오는 말은 패러다임이다. 패러다임이라는 말은 익숙한 듯 낯설다. 위키백과에는 패러다임은 다음과 같이 정의되어 있다. 패러다임(paradigm)은 어떤 한 시대 사람들의 견해나 사고를 근본적으로 규정하고 있는 테두리로서의 인식의 체계, 또는 사물에 대한 이론적인 틀이나 체계를 의미하는 개념이다. JPA(ORM)를 시작할 때 "객체지향 프로그래밍과 관계형 데이터베이스의 패러다임의 불일치를 해소하기 위한 기술"이라는 점을 가장 먼저 공부한다. 당시에는 단순하게 둘 사이의 차이를 해소시키는 것으로 이해하고 넘어갔지만 패러다임이 무엇인지 명확하게 이해가 가지 않는다. 그렇다면 패러다임을 어떻게 이해하면 좋을까? 나는 패러다임은 안경으로 이해했.. 2023. 6. 4.
[객체지향의 사실과 오해] 1장 : 협력하는 객체들의 공동체 🧐 객체지향? 책을 읽기 전에 먼저 내가 아는 객체지향이란 어떤 것일지 생각해 봤다. 내가 생각하는 객체지향은 "나중에 추가될 요구사항에 유연하게 프로그래밍을 할 수 있게 하는 것"이라고 생각했다. 글을 적어 내려가면서 떠오르는 생각은 단순히 다형성에만 초점이 잡혀있는 것 같다. 책에서 가장 먼저 객체지향이 가지는 오해에 대해서 언급한다. 객체지향의 목표는 무엇일까? 일반적으로 실세계를 모방하는 것이라고 많이 알고 있다. 하지만, 요구사항을 만족하는 새로운 세계를 만드는 것이 객체지향의 목표이다. 그렇다면 왜 실세계를 모방하는 것으로 우리는 많이 알고 있을까? 우리는 객체지향을 이해하는 데 있어서 실세계를 예로 드는 것이 이해하기 쉽기 때문이다. 단순히 이해하는데 쉬울 뿐 구현하고 설계하는 기엔 부적합하.. 2023. 4. 1.