Summary
얼마 전 애자일 이야기의 둘이면 더 똑똑해질 수 있을까라는 글을 읽고 “프로그래밍 영역에서의 추상화”와 “일반적인 추상화의 개념”에 대한 연관성을 생각해보게 되었고, 학습생태계 프로젝트의 구인공고를 보고서 글로써 정리해 보고자 마음먹었다. 이 글은 추상화가 무엇인지에 대해서 언급하고, 추상화가 결국 어떻게 이상과 절대미를 추구하게 되는지 알아본다. 하지만, 추상화의 결과 혹은 목적으로 나타난 이상과 절대미라는 것은 어떻게든 교육과 공감대를 필요로 하고, 그렇기에 프로그래밍 영역에서는 Pair Programing이 좋은 방법일 수 있다는 점도 이야기해 볼 것이다. 그리고, 추상화라는 것은 프로그래밍 뿐만 아닌 “학문과 예술”영역에서의 거대한 하나의 흐름이었고, 프로그래밍 영역에서도 점차 자신의 코드에 이런 철학과 이상을 담게 될 것이라는 점(혹은 요구될 것이라는 점), 나아가 더욱 일반화되면 구인시장에서도 이런 내용을 종종 만나게 될 것이라는 데에까지 글을 이어나가보려 한다.
우선 이 글 “추상화와 프로그래밍 1″은 “추상화와 이상의 추구”라는 내용을 담고 있다. 시간이 나는 데로 좀 더 다듬어지고 추가될 것이다.
추상화란
추상화라는 것이 있다. 간단히 말하면 구체적인 것을 일반화, 단순화, 상징화, 법칙화 하는 것이다. 흔한 예를 들어 설명해보자.
“우리집 강아지 메리”는 구체적인 하나의 개체이다. “옆집 똥개 개똥이”도 구체적인 하나의 개체이다. “메리”는 매일 스테이크만 먹어주시고,최고급 뷰티삽에서 털 가꾸기를 게을리 하지 않는다. 의식주, 걸음걸이,그 모든 자태에서 족보있는 개의 면모를 드러내신다. 반면 “개똥이”는 늘 꾀죄죄한 몰골에, 똥을 얼마나 좋아하는지, 아침부터 밤까지 동네의 똥만 찾아 다니고, 울음소리도 늘 “깨갱깨에갱~” . 캐릭터가 궁상이다. 이렇듯 모든 개별적인 개체는 그 만의 개성을 가진다.
하지만, 이렇게 묶어보자. “족보있는 명개”와 “똥개”. 어디 똥먹는 개가 옆집 “개똥이” 뿐이겠는가. 어디나 똥먹는 개는 있다. 이렇게 어떤 공통적인 특징으로 그룹핑을 하면 “똥개”라는 일반화가 가능해진다. 좀 더 나아가서 우리집 “메리”나 옆집 “개똥이”나 모두 “개”이다. “메리”와 “개똥이”는 종은 다르지만, 다 같은 “개”이다. 그러니까, “이리”등과 비슷하게 생겼지만, 인간에 의해 가축화되었으며, 영리하고 “서열화”등의 습성이 있는 동물말이다.
여기서 그룹핑을 한다는 것은 제각각의 특성을 가진 개체들을 공통점을 기반으로 해서 묶어 버리는 작업을 말하는데, 이것은 개체 고유의 특성을 지우는 결과를 낳는다. 옆집의 “개똥이”는 그다지 영리하지 않을 수도 있지만, 일반적으로 “개”는 영리한 동물로 인식된다. 즉, “개”가 가지는 일반적인 의미중에는 “영리한 동물”이라는 개념이 포함된다. 이렇게, “일반적”이라던지, “개념을 포함”한다던지 하는 것이 고유한 개체를 “추상화”하는 것이다.
좌측의 이미지에서 개별 개체였던 개들을 “개”라는 문자로 추상화하였다. “개”라는 문자로 추상화 된 이상, 이제 눈에 보이는 것은 없다. 추상화 된 것은, 혹은 개념화된 것은 머리 속에서 사고한다. 우리가 흔히 “개”라고 할 때, 개의 특성을 주절주절 이야기하지 않아도, 개와 관련된 대화를 나눌수 있다. 하지만, 정말 추상화 된 개가, 그러니까 사람들 “머리 속에서 사고되는 개”가 다 같은 개일까. 아니다. 아마도 다를 것이다. 가족처럼 개를 사랑하는 사람과 개를 먹는 사람, 혹은 개가 옆에만 지나가도 소름이 돋는 사람이 있다면, 이들은 각자 머리 속에 다른 개를 그리고 있을 것이다. 그러니까, 개의 개념화가 되려면, 이런 주관을 배제하는 작업이 수반되어야 한다. 주관을 배제하고 대상을 객관화하는 것은 추상화의 필수 단계이다.
하지만, 어떻게 객관화 할 것인가. 어느정도 공통적인 성질을 기반으로 객관화된 개념을 찾아내고 정의하는 것은 바로 “진리의 탐구”와 연관이 되어 있다. 그러므로, 흔히 추상화는 “이상화”로 연결이 된다. 우리가 추상화하는 개는 그러므로 사실상 “이상적인 개”인 것이다. 추상화는 “이상화”를 추구하는 경향이 있다.
이상향과 절대미의 추구
학문과 예술의 오랜 역사에서 사람들은 “늘 변하지 않는 절대적인 미적기준”과 “시시각각 변하는 아름다움”사이에서 오고 갔다. 혹은 이 둘을 모두 사랑해왔다. “늘 변하지 않는 절대적인 미적 기준”은 “이상”이고 “시시각각 변하는 아름다움”이란 “현실”이다. “형이상학과 형이하학”이라고도 할 수 있다. 때로 이 구분은 “이성과 감성”이라 불리기도 하고, “理와氣”라는 이름이 붙기도 했다. 이 중 “늘 변하지 않는 절대적인 미적기준”, “절대진리” 등을 중시하는 사람들은 매일 같이 변화하는 것을 아름다움이라 부르는 것을 주저했다. 그들은 이데아가 존재할 것이라 믿었고, 시대를초월하고 국경을 초월하는 진리가 있을 것이라 믿었다. 하지만, 눈 앞에 보이는 변덕스런 현상을 믿지 않았기에, “황금비율“을 찾기 시작했다.
“황금비율”. 이 황금비율이 단지 1:1.618이라는 비율만을 의미한다고 생각하지는 않기로 하자. “황금비율”은 곧 진리를 의미한다. 그리고, 이것은 추상화된 아름다움이다. 몬드리안은 몇 개의 직선을 그리고 그 사이에 빨갛고 파란 색을 칠함으로써 미술사에 영원히 자신의 이름을 남겼다. 그는 직접적으로 보이는 자연을 버리고, 비율과 직선과 단순한 색의 배치만으로 아름다움을 표현했다. 추상화라는 것은 이처럼 개별 개체를 개념화하고, 개념으로 사고하고 개념으로 표현하는 것이라고도 할 수 있다.
어둠과 같은 현실은 이데아의 그림자에 불과하다지만, 우리는 이데아를 한 번도 본 적이 없다. 다만 그림자로부터 이데아를 유추할 뿐이다. 그리고, 유추한 이데아는 추상적인 사고와 추상적인 표현으로 이루어지곤 한다. “황금비율”은 현실의 황금은 아니지만, 이데아를 추상한 것이므로 아름답다. 하지만, 우리가 모든 것을 추상화해서 사고하고, 또 추상적으로 표현하는 것은 너무 어렵지 않은가. 그리고, 이미 추상적 형태로 표현되어 있는 어떤 것을 이해하는 것도 어렵지 않은가.
다음글에서는…
글이 너무 길어진 관계로, 이 글은 두 번에 나누어서 쓰여질 것이다. 다음 글, “추상화와 프로그래밍 2″에서는 이 추상적인 표현과 이해의 어려움과 Pair Programming의 관련성에 대해서 더 다루어 볼 것이다. 그리고, 가능하다면 프로그래밍에서의 추상화가 의미하는 바에 대해서도 짧게 언급하게 될 것이다. 그러면, 왜 취업시장에서 철학이 담긴 코드가 필요하게 되는지도 이해할 수 있게 될 지도 모를 일이다.
- Newer: Window Live Writer로 포스팅
- Older: 디자이너가 일하고 싶은 회사
코맨트:0
Trackbacks:0
- Trackback URL for this entry
- http://www.duppio.com/blog/542.html/trackback
- Listed below are links to weblogs that reference
- 추상화와 프로그래밍 1 from duppio.com