본문 바로가기

객체지향의 사실과 오해2

객체지향의 사실과 오해 - 3장, 4장 3장. 타입과 추상화 "일단 컴퓨터를 조작하는 것이 추상화를 구축하고, 조작하고, 추론하는 것에 관한 모든 것이라는 것을 깨닫고 나면 (휼륭한)컴퓨터 프로그램을 작성하기 위한 중요한 전제 조건은 추상화를 정확하게 다루는 능력이라는 것이 명확해진다." 추상화의 목적 : 모든 경우에 복잡성을 이해하기 쉬운 수준으로 단순화하는 것 분류는 객체지향의 가장 중요한 개념 타입 : 공통점을 기반으로 객체들을 묶기 위한 틀, 객체를 분류하기 위해서 사용하는 개념 객체가 어떤 행동을 하느냐에 따라서 객체의 타입이 결정됨(메서드를 호출을 통해서 어떤 객체가 실행되는지를 결정) -> 다형성 : 동일한 요청에 대해 서로 다른 방식으로 응답할 수 있는 능력 객체가 동일한 타입으로 분류되기 위해서는 공통의 행동을 가져야 함(인터.. 2023. 8. 20.
객체지향의 사실과 오해 - 1장, 2장 1장. 협력하는 객체들의 공동체 "시너지를 생각하라. 전체는 부분의 합보다 크다." 객체지향의 목표는 실세계를 모방하는 것이 아니라 오히려 새로운 세계를 창조하는 것이다. "실세계의 모방이라는 객체지향의 개념은 휼륭한 프로그램을 설계하고 구현하는 실무적인 관점에서는 부적합하지만 객체지향이라는 용어에 담긴 기본 사상을 이해하고 학습하기에는 매우 효과적이다" 객체지향에서 중요한 세가지 개념 - 역할, 책임, 협력(요청과 응답을 통해) (ex) 커피공화국 - 손님, 캐시어, 바리스타 객체(: 손님) 메세지(: 손님의 요청) 메서드(: 손님의 요청을 처리하는 방법) 객체는 메세지를 통해서 협력적이다(객체가 다른 객체를 호출하는거 이런거 말하는거 같음) 객체는 상태와 행동을 가진다(필드와 메서드를 가진다는 의미인.. 2023. 8. 19.