이 글은 객체지향의 사실과 오해라는 책을 읽고 정리한 글입니다. 2장에서는 '객체란 무엇인가'라는 본질적인 질문에 대답하려고 합니다. 객체지향 패러다임은 지식을 추상화하고 추상화한 지식을 객체 안에 캡슐화함으로써 실세계 문제에 내재된 복잡성을 관리하려고 한다. 객체를 발견하고 창조하는 것은 지식과 행동을 구조화하는 문제다. 객체지향과 인지 능력 객체는 인간이 분명하게 인지하고 구별할 수 있는 물리적인 또는 개념적인 경계를 지닌 어떤 것이다. 객체지향 페러다임의 목적은 현실 세계를 모방하는 것이 아니라 현실 세계를 기반으로 새로운 세계를 창조하는 것이다. 따라서 소프트웨어 세계에서 살아가는 객체는 현실 세계에 존재하는 객체와는 전혀 다른 모습을 보이는 것이 일반적이다. 객체, 그리고 이상한 나라 앨리스 객..
이 글은 객체지향의 사실과 오해라는 책을 읽고 정리한 글입니다. 1장에서는 객체지향의 패러다임의 핵심이 자율적인 객체들의 협력이라는 사실을 강조한다. 시너지를 생각하라. 전체는 부분의 합보다 크다 객체지향의 목표 객체지향의 목표는 실세계를 모방하는 것이 아니다. 소프트웨어 개발자의 역할은 단순히 실세계를 소프트웨어 안으로 옮겨 담는 것이 아니라 고객과 사용자를 만족시킬 수 있는 신세계를 창조하는 것이다. 소프트웨어 방화벽과 건물의 방화벽 사이의 의미적 거리만큼이나 소프트웨어 객체와 실세계 사물 사이에 존재하는 연관성은 희미하다. 그럼에도 객체를 실세계와 비유하는 이유는? 객체지향이라는 용어에 담긴 기본 사상을 이해하고 학습하는 데는 매우 효과적이다. 상태와 행위를 캡슐화(encapsulation)하는 소..