본문 바로가기

RDD2

3장: 타입과 추상화 일단 컴퓨터를 조작하는 것이 추상화를 구축하고, 조작하고, 추론하는 것에 관한 모든 것이라는 것을 깨닫고 나면 (훌륭한) 컴퓨터 프로그램을 작성하기 위한 중요한 전제 조건은 추상화를 정확하게 다루는 능력이라는 것이 명확해진다. - 키스 데블린(Keith Devlin)[Devlin 2003] * 스팅모어가 디자인한 1927년 런던 지하철 지도 * 해리 벡이 디자인한 1933년의 지하철 노선도 해리 벡은 지하철을 이용하는 승객들을 면밀하게 관찰한 후 승객이 꼭 알아야 하는 사실만 정확하게 표현하고 몰라도 되는 정보는 무시함으로써 이해하기 쉽고 단순하며 목적에 부합하는 지하철 노선도를 창조해 낼 수 있었다. 해리 백의 가장 위대한 업적은 지하철 노선을 추상화 한것이다. 추상화를 통한 복잡성 극복 해리 벡의 지.. 2021. 8. 16.
2장: 이상한 나라의 객체 객체지향 패러다임은 지식을 추상화하고 추상화한 지식을 객체 안에 캡슐화함으로써 실세계 문제에 내재된 복잡성을 관리하려고 한다. 객체를 발견하고 창조하는 것은 지식과 행동을 구조화하는 문제다. - 레베카 워프스브록(Rebecca Wirfs-Borck)[Wirfs-Brock 1990] 객체지향 패러다임은 현실 세계의 존재를 소프트웨어 세계의 객체로 바꾸는 것이다. 그리고 이것은 좋은 방법이며 둘 다 일치한다 => 오해 객체지향 패러다임의 목적은 현실 세계를 모방하는 것이 아니라 현실 세계를 기반으로 새로운 세계를 창조하는 것이다 => 사실 객체지향과 인지 능력 인간은 본능적으로 세상을 독립적이고 식별 가능한 객체의 집합으로 바라본다. 많은 사람들이 객체지향을 직관적이고 이해하기 쉬운 패러다임이라고 말하는 이.. 2021. 8. 6.