Page 11 - 컴퓨팅 사고와 함께하는 파이썬기초부터 인공지능 응용까지 도서 미리보기
P. 11
CHAPTER 2? 문제 해결과 컴퓨팅 사고 029
집, 거실, 버스, 꽃, 기린, 사람, 야구, 축구, 정렬(sorting: 크기 순서대로 재배치하는
작업) 등의 단어 모두가 일반 명사이다. 일례로 마우스라는 일반 명사를 생각해 보면,
마우스라는 단어로 지칭할 수 있는 대상이 무수히 많음을 알 수 있다. 우리는 일상 속
에서 색깔과 모양과 작동 원리, 버튼의 구성 등이 서로 다른 실제 마우스들 모두를 마
우스라는 한 단어로 칭하고 있다. 이는 ‘마우스’라는 용어가 우리 관념 속에 ‘실제 마우
스들 모두의 공통 속성을 가지고 있는 물품’으로 추상화되어 있기 때문이다. 추상화를
통해 만들어진 마우스라는 단어가 있기에, 우리는 서로 다른 마우스를 가진 사람들에
게 “마우스의 왼쪽 버튼을 누르세요.”라고 우리가 뜻한 바를 쉽게 표현·전달할 수 있
는 것이다.
A가 B에게 “이 자료 좀 복사해 주세요.”라는 단순한 표현으로 복사 작업을 맡길 수 있
는 이유는, B가 복사 작업이 무엇인지 알고 있고, 그 작업을 수행할 능력을 가지고 있
기 때문이며, B가 어떤 복사기를 사용하든, 어떤 버튼을 눌러 복사기를 작동시키든,
자료를 어떤 순서로 복사하든 A에게 별 문제가 되지 않아, 그런 구체적인 부분들을 어
떻게 수행할지에 대해서는 B에게 위임할 수 있기 때문이다. 이 상황을 알고리즘과 연
관 지어 생각해 보면 다음과 같다. B는 ‘복사 작업’ 수행을 위한 나름의 알고리즘을 가
지고 있다. A는 B가 해당 복사 작업을 어떻게 수행하는지 알지 못하더라도 B에게 복
사할 자료를 건네주며 복사 작업을 수행해 달라고 요청하기만 하면 그 복사본을 돌려
받을 수 있다. 여기에서 A가 복사본을 쉽게 얻을 수 있는 이유는 B의 ‘복사 작업’이 A
에게 추상화되어 있기 때문이다.
추상화와 관련해 두 가지 측면을 생각해 보자. 그 첫째는 패턴인식이 추상화의 주요
도구이며, 패턴 인식의 결과를 쉽게 추상화로 귀결시킬 수 있다는 것이다. 사물들을
그들이 지닌 속성의 패턴에 따라 적절히 분류하거나 개념화하면 그들을 추상화시킬
수 있다. 이는 마우스라 불리는 장치들이 어떤 속성을 공유하는지, 복사 작업이라 칭
해지는 활동들이 어떤 속성을 충족하는지 생각해 보면 알 수 있다. 두 번째는 사물의
어떤 수준의 속성에 주목하여 공통 패턴을 찾아내는지에 따라 추상화의 수준이 달라
진다는 것이다. 예로 ‘마우스’와 ‘키보드’를 서로 다른 추상 개념으로 구별하여 다룰 수
있지만, ‘컴퓨터에 무엇인가를 입력할 때 사용되는 장비’라는 수준의 속성에 주안점을
두고 공통점을 찾아낸다면 키보드나 마우스 모두를 ‘입력 장치’로 추상화시켜 다룰 수
있게 된다. 중요한 것은 다루고자 하는 상황에 맞게 추상화의 수준을 적절히 설정·활
용할 수 있어야 한다는 것이다.