책 - 요약 정리/객체지향의 사실과 오해

책 - 요약 정리/객체지향의 사실과 오해

객체 지도

객체 지향으로 가야하는 이유 객체지향 개발 방법은 안정적인 구조에 변경이 빈번하게 발생하는 기능을 종속시키는 지도의 방법과 유사하다. 이것이 객체지향이 과거의 전통적인 방법보다 범용적이고, 재사용성이 높으며, 변경에 안정적인 이유다. 성공적인 소프트웨어들이 지닌 공통적인 특징 훌륭한 기능이 훌륭한 소프트웨어를 만드는 충분조건이라고 한다면, 훌륭한 구조는 훌륭한 소프트웨어를 만들기 위한 필요조건이다. 성공적인 소프트웨어들이 지닌 공통적인 특징은 훌륭한 기능을 제공하는 동시에 사용자가 원하는 새로운 기능을 빠르고, 안정적으로 추가할 수 있다는 것이다. 미래에 대한 대비 미래의 변경을 예측할 수는 없다. 단지 대비할 수 있을 뿐이다. 미래에 대비하는 가장 좋은 방법은 변경을 수용할 수 있는 선택의 여지를 설계..

책 - 요약 정리/객체지향의 사실과 오해

05. 책임과 메시지

객체지향의 기본 개념은 책임을 수행하는 자율적인 객체들의 협력을 통해 애플리케이션을 구축하는 것이다. 그리고 객체지향 애플리케이션의 중심 사상은 연쇄적으로 메시지를 전송하고, 수신하는 객체들 사이의 협력 관계를 기반으로 사용자에게 유용한 기능을 제공하는 것이다. 클래스는 객체의 속성과 행위를 담는 틀일 뿐이다. 객체지향 패러다임으로의 전환은 시스템을 정적인 클래스들의 집합이 아니라 메시지를 주고받는 동적인 객체들의 집합으로 바라보는 것에서 시작된다. 따라서 객체지향 설계의 중심에는 메시지가 위치한다. 객체가 메시지를 선택하는 것이 아니라 메시지가 객체를 선택하게 해야 한다. 메시지가 객체를 선택하게 하려면 메시지를 중심으로 협력을 설계해야 한다. 결과적으로 메시지가 수신자의 책임을 결정하며, 메시지를 먼..

책 - 요약 정리/객체지향의 사실과 오해

03. 타입과 추상화

추상화 추상화란 복잡한 현실을 단순화하기 위해서 사용하는 인간의 가장 기본적인 인지 수단이라고 할 수 있다. 이에 모든 추상화의 목적은 복잡성을 이해하기 쉬운 수준으로 단순화하는 것이다. 그리고 복잡성을 다루기 위해 추상화는 두 차원에서 이루어진다. 첫 번째 차원은 구체적인 사물들 간의 공통점은 취하고, 차이점은 버리는 일반화를 통해 단순하게 만드는 것 두 번째 차원은 중요한 부분을 강조하기 위해 불필요한 세부 사항을 제거함으로써 단순하게 만드는 것 객체지향 페러다임은 객체라는 추상화를 통해 현실의 복잡성을 극복한다. 그리고 객체지향 패러다임을 이용해 유용하고 아름다운 애플리케이션을 개발위해 추상화의 두 차원을 올바르게 이해하고 적용해야 한다. 객체: 명확한 경계를 가지고 서로 구별할 수 있는 구체적인 ..

kimjingyu
'책 - 요약 정리/객체지향의 사실과 오해' 카테고리의 글 목록