SummaryBook/[객체 지향의 사실과 오해] 4

5. 책임과 메시지

의도는 "메시징"이다. 훌륭하고 성장 가능한 시스템을 만들기 위한 핵심은 모듈 내부의 속성과 행동이 어떤가보다는 모듈이 어떻게 커뮤니케이션하는가에 달려 있다. 자율적인 책임자율적인 객체란 스스로 정한 원칙에 따라 판단하고 스스로의 의지를 기반으로 행동하는 객체다. 타인이 정한 규칙이나 명령에 따라 판단하고 행동하는 객체는 자율적인 객체라고 부르기 어렵다.객체가 어떤 행동을 하는 유일한 이유는 다른 객체로부터 요청을 수신했기 때문이다. 요청을 처리하기 위해 객체가 수행하는 행동을 책임이라고 한다. 따라서 자율적인 객체란 스스로의 의자와 판단에 따라 각자 맡은 책임을 수행하는 객체를 의미한다.적절한 책임이 자율적인 객체를 낳고, 자율적인 객체들이 모여 유연하고 단순한 협력을 낳는다. 따라서 협력에 참여하는 ..

3. 타입과 추상화

일단 컴퓨터를 조작하는 것이 추상화를 구축하고, 조작하고, 추론하는것에 관한 모든것이라는 것을 깨닫고 나면 (훌륭한) 컴퓨터 프로그램을 작성하기 위한 중요한 전제 조건은  추상화를 정확하게 다루는 능력이라는 것이 명확해진다. 책의 해리백 이야기를 읽고추상화를 통한 복잡성 극복현실에 존재하는 다양한 현상 및 사물과 상호작용하기 위해서는 우선 현실을 이해해야한다. 문제는 복잡성의 총체인 현실이라는 괴물을 그대로 수용하기에는 인간이 지니고 있는 인지 능력과 저장 공간이 너무나도 보잘것 없다. 따라서 사람들은 본능적으로 이해하기 쉽고 예측 가능한 수준으로 현실을 분해하고 단순화하는 전략을 따른다. 해리백의 지하철 노선도는 불필요한 지형 정보를 제거함으로써 단순함을 달성한 추상화의 훌륭햔 예이다. 진정한 의미에서..

2. 이상한 나라의 객체

객체지향 패러다임은 지식을 추상화하고 추상화한 지식을 객체 안에 캡슐화함으로써 실세계 문제에 내재된 복잡성을 관리하려고 한다.객체를 발견하고 창조하는 것은 지식과 행동을 구조화하는 문제다. 객체지향 패러다임은 인간이 인지할 수 있는 다양한 객체들이 모여 현식 세계를 이루는 것처럼 소프트웨어의 세계 역시 인간이 인지할 수있는 다양한 소프트웨어 객체들이 모여 이뤄져 있다는 믿음에서 출발한다. 책의 이상한 나라의 앨리스 파트를 읽고 앨리스는 정원으로 가는길을 가로막고 있는 작은 문을 통과하기에 적당한 상태로 자신의 키를 계속해서 변화시킨 것이다.앨리스의 키는 시간의 흐름에 다라 계속 변한다. 그렇다고 엘리스의 키가 아무런 이유없이 변하는것은 아니고, 앨리스의 키를 변화시키는것은 앨리스의 행동이다. 앨리스가 ..

1. 협력하는 객체들의 공동체

시작하며24년 4월 실무경력 1년을 경험한, 연차로는 2년차 개발자가 되었다. 지난 1년을 생각해보면 실무 경험 및 나름의 공부를하며, 성장을 해왔지만 실무 경험에 맞춰 개발 및 장애대응을 하다보니 천천히 기초에 집중하기보다는 급하게 달려온 느낌이들었다. 또한 최근 자바 플레이그라운드 with TDD, 클린 코드 인강을 구매하여 숫자야구게임을 개발하면서 Java라는 언어를 사용하지만, 객체지향적으로 프로그래밍하지못하고 있는자신을 발견하여 객체지향에 대해 공부를 하기로 마음먹었다.  책을 읽으며 무조건 책의 내용을 정리하기보다는 책의 내용 정리 및 나의 생각을 녹여내고시간이 지나 책의 내용이 기억이 나지않을때 다시 읽어보기위해 기록하였다. 시너지를 생각하라. 전체는 부분의 합보다 크다. 객체지향이라고 불..