본문 바로가기
반응형

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

객체지향의 사실과 오해(4) 4.역할, 책임, 협력 우리 모두를 합친 것보다 더 현명한 사람은 없다. -켄 블랜차드(Ken Blanchard) 협력 협력은 한 사람이 다른 사람에게 도움을 요청할 때 시작된다. 요청을 받은 사람은 일을 처리한 후 요청한 사람에게 필요한 지식이나 서비스를 제공하는 것으로 요청에 응답한다. 책임 어떤 객체가 어떤 요청에 대해 대답해 줄 수 있거나, 적절한 행동을 할 의무가 있는 경우 해당 객체가 책임을 가진다고 말한다. 객체의 외부에 제공해 줄 수 있는 정보(아는 것의 측면)와 외부에 제공해줄 수 있는 서비스(하는것의 측면)의 목록이다. 책임의 분류 하는 것(doing) 객체를 생성하거나 계산을 하는 등의 스스로 하는것 다른 객체의 행동을 시작 시키는 것 다른 객체의 활동을 제어하고 조절하는 것 아는 것.. 2021. 2. 24.
객체지향의 사실과 오해(3) 3. 타입과 추상화 일단 컴퓨터를 조작하는 것이 추상화를 구축하고, 조작하고, 추론하는 것에 관한 모든 것이라는 것을 깨닫고 나면 컴퓨터 프로그램을 작성하기 위한 중요한 전제 조건은 추상화를 정황하게 다루는 능력이라는 것이 명확해진다. -키스 데블린(Keith Devlin)[Devlin 2003] 추상화 어떤 양상, 세부 사항, 구조를 좀 더 명확하게 이해하기 위해 특정 절차나 물체를 의도적으로 생략하거나 감춤으로써 복잡도를 극복하는 방법이다. 복잡성을 다루기 위해 추상화는 두 차원에서 이뤄진다[Kramer 2007] 구체적인 사물들 간의 공통점은 취하고 차이점은 버리는 일반화를 통해 단순하게 만드는 것이다. 중요한 부분을 강조하기 위해 불필요한 세부 사항을 제거함으로써 단순하게 만드는 것이다. 모든 경.. 2020. 12. 21.
객체지향의 사실과 오해(1~2) 1. 협력하는 객체들의 공동체 시너지를 생각하라. 전체는 부분의 합보다 크다. -스티븐 코비(Stephen R. Covery) 객체지향의 본질 객체지향이란 시스템을 상호작용하는 자율적인 객체들의 공동체를 바라보고 객체를 이용해 시스템을 분할하는 방법이다. 자율적인 객체란 상태와 행위를 함께지니며 스스로 자기 자신을 책임지는 객체를 의미한다. 객체는 시스템의 행위를 구현하기 위해 다른 객체와 협력한다. 각 객체는 협력 내에서 정해진 역할을 수행하며 역할은 관련된 책임의 집합이다. 객체는 다른 객체와 협력하기 위해 메시지를 전송하고, 메시지를 수신한 객체는 메시지를 처리하는데 적합한 메서드를 자율적으로 선택한다. ※ 클래스는 객체들의 협력 관계를 코드로 옮기는 도구에 불과하다. 2. 이상한나라의 객체 객체지.. 2020. 12. 8.
728x90