EOE 객체 지향 영어
먼저 '객체 지향 개념'이라는 것을 알아보려는 이유부터 다시 상기해 보자. 훈련을 하다 보면 오래 동안 봐 왔는데도 익숙해지지 않는 어휘들, 문법들이 있을 수 있다. 또한 '자신이 아는 것이 원어민이 아는 것과 다를 수 있겠다'는 기분도 경험하게 될 수 있다. 이것은 '뉘앙스 문제'를 경험하고 있는 것이라고 말할 수 있다. 영어와 언어적으로 차이가 나는 모국어를 사용하는 훈련자들일 수록 이런 뉘앙스 문제를 더 많이 경험하게 될 것이다. 뉘앙스라는 것은 '문화적 차원의 뉘앙스'도 있지만, '언어적, 철학적 차원의 뉘앙스'도 있다. '객체 지향 개념'은 그중에서 언어적 뉘앙스, 즉 어휘, 어순, 문법 등에 대해서 원어민이 '당연하다고 느끼는 느낌'을 모국어식 사고방식이 아니라 영어식 사고방식으로 살펴보기 위해서 활용할 수 있다. 이곳에서는 영어식 느낌 탐색을 준비하기 위해서 '객체 지향 개념'이라는 것이 무엇인지를 먼저 살펴보려고 하는 것이다.
참고) '객체 지향 개념'의 등장
'객체 지향 개념'은 50년대 후반, 60년대 초에 MIT의 artificial intelligence group이라고 불리는 그룹에서 만들어서 처음 등장했다. 그 당시 이 그룹에서는 새로운 프로그래밍 언어를 만들기를 원했는데 영어라는 자연어와 매우 유사한 형태가 되기를 원했다. 그런데 그런 언어를 설계하고 만들려면 먼저 영어를 사용하는 사람들의 철학 방식과 사고방식을 알아야만 했을 필요가 있었고 그래서 그런 연구 결과로 나온 것이 '객체 지향 개념'이라고 말할 수 있다.
'객체 지향 개념' 자체는 프로그래밍 언어를 만드는 데만 활용할 수 있는 것은 아니다. 이것은 '모든 종류의 복잡한 문제를 고민하는데 활용할 수 있는 원리 원칙' 정도로 이해할 수 있다. 즉, '객체 지향 개념'은 영어권 사람들의 철학적 사고방식에 따라서 문제를 고민하고 해결해 나가려고 할 때 활용할 수 있는 일종의 범용의 방법론이라고 할 수 있다. EOE에서는 그것을 영어 훈련 이슈를 해결할 목적으로 활용하고 있는 것이다.
순수한 '객체 지향 개념'의 특성들은 영어권 사람들이 세상을 바라보는 본능적 시각이라고 봐도 큰 무리가 없다. 훈련자들이 이런 특성들에 대한 이해도를 높여간다는 것은 원어민의 그런 본능적 시각에 대한 이해도를 높여가는 것이라고 볼 수 있다. 이곳에서는 전문 용어 대신에 최대한 일반적 용어로 풀어 보려고 하겠다.
1. 기본 사고 진화
1.1. 표현 감각 훈련의 간접 경험
1.2. 표현 감각 훈련 '상황' 이해 - 플라톤 동굴
1.3. 표현 감각 훈련 '방식' 개념 - 탈출 방식
1.4. 표현 감각 훈련 '구현' 개념 - 탈출 실천
1.5. 표현 감각 훈련 '도구' 개념 - 탈출 도구
2. 표현 탐색 간접 경험
2.1. 뉘앙스 탐색의 간접 경험
2.2. 정방향 탐색의 간접 경험
3. 객체 지향 영어 소개
3.1. 객체 지향 사고 소개
3.2. 객체 지향 영어 소개
3.3. (오늘) 객체 지향 사고 특성
3.4. (예정) 객체 지향 영어 특성
4. 객체 지향 탐색 개념
4.1. 뉘앙스 느낌 탐색
4.2. 정방향 문제 개요
4.3. 정방향 전개 구조
4.4. 정방향 느낌 탐색
4.5. 정방향 문제 탐색
4.6. 통합 탐색 프레임워크
5. 객체 지향 탐색 예제
6. 표현 감각 훈련 구현
7. 표현 훈련 실천 기법
먼저 '객체 지향'에서의 '객체'라는 것이 무엇인지를 살펴보는 것부터 시작하겠다.
우리는 모르는 것이 있으면 '그것이 무엇인가'를 묻는다. 인생이 무엇인가? 사랑이 무엇인가? 행복이 무엇인가? 이것이 '객체 지향'에서 말하는 객체에 해당한다. '객체(object, entity)'라는 것은 영어권 철학 방식의 핵심 개념이다. 그들의 철학 방식에서는 세상과 생각을 구성하는 모든 것들이 객체이다. 꽤 오래전에 'inside out'이라는 애니메이션 영화가 있었다.
<감정 객체들>
이곳에서는 'Joy(기쁨이)', 'Sadness(슬픔이)', 'disgust(까칠이)', 'anger(버럭이)', 'fear(소심이)'로 불리는 캐릭터들이 등장한다. 각각의 감정을 캐릭터화시킨 것이다. 객체 지향 관점에서 보면 이들은 '감정 객체'에 해당한다. 즉, 영어권의 사고에서는 인간이 느끼는 '감정(emotion)'도 이처럼 '객체'로 구분해서 정의하고 있다는 것이다.
'What do you think?' 표현을 생각해 보자. 상대의 생각, 의견을 what으로 물어보고 있다는 것은 '생각, 의견'이라는 것도 '객체'로 보고 있다는 것이다. 원어민은 이처럼 눈에 보이는 세상뿐만 아니라 눈에 보이지 않는 '생각과 감정'도 모두 객체들로 보고 있다. 뒤에서 보겠지만, 원어민의 철학 방식에서는 '동작과 상태'라는 것도 특별하기는 하지만 모두 객체로 보고 있다.
그런데 이런 객체라는 것들은 모두 인간이 정의한 것들이다. '객체를 정의한다'는 것은 간단히 생각하면 '이름을 부여하는 것(naming)'으로 볼 수 있다. 하지만 그 이면에는 그 객체의 고유한 목적, 용도, 가치, 정해진 역할 등에 대한 정의가 이뤄지고 있는 것이라고 볼 수 있다. '객체의 정의'라는 관점에서 보게 되면 성격이 조금 다른 개체들이 보이게 된다.
우리가 알고 있는 거의 대부분의 객체들은 우리가 태어나기 이전에 정의된 것들이다. 예를 들어, '태양', '우주', '뉴욕', '템즈강', '기독교, 불교' 등등이 그런 경우이다. 우리는 그런 정의들을 그대로 물려받은 것이다. 반면에 새롭게 정의되는 객체들도 많다. 앞에서 본 감정 캐릭터들이 그렇다. 또한 'EOEP 훈련 체계'라는 것도 새롭게 정의한 객체에 해당한다고 할 수 있다. 또한 기존의 객체를 다시 자신의 목적에 맞게 개인적으로 정의하는 경우도 있다. 예를 들어서, 자신의 애완견에 이름을 붙일 수도 있고 자동차 또는 집에 이름을 붙일 수도 있는데 이것은 기존의 객체에 자신만의 의미를 부여하는 객체 정의 행위에 해당한다.
원어민이 보는 세상이라는 것은 이처럼 인간이 정의한 객체들로 가득 차 있는 시공간이다. 그리고 '시공간 세상' 그 자체도 객체로 보고 있다. 영어라는 언어는 그런 '객체 세계'를 묘사하는 표현 도구이다. 즉, '어떤 영어 표현을 이해한다'는 것은 해당 영어 표현이 나타내고 있는 객체 세계를 역으로 그려내는 것에 해당한다.
참고) 프로그램 세계의 객체 지향
만약 소프트웨어 분야에서 '객체 지향 프로그래밍'을 해 본 사람이라면 이곳에서 말하는 '객체 정의'라는 것을 '클래스 정의' 또는 '상속(inheritance)' 등의 개념에 비유해서 생각해 볼 수 있다. 그런 개념들이 모두 영어식 사고와 관련되어 있다는 것이다.
'객체의 정의'라는 것 때문에 '타입 객체'라는 낯선 용어가 등장하게 된다. 용어는 낯설지만 우리는 경험을 통해서 그 의미에는 이미 익숙해져 있다. 예를 들어, 앞에서 봤던 감정 객체들을 보자. Joy, Sadness, disgust, anger, fear의 공통점은 '감정(emotion)'이다. 이때의 '감정'이 바로 '타입 객체'에 해당한다. 그리고 Joy, Sadness 등은 '타입 객체'와 구분해서 부르기 위해서 '실제 객체'로 부른다. 참고로, 원래는 '클래스(class)'라는 용어를 사용하는데 EOEP에서는 '타입'이라는 용어를 사용하고 있다.
'타입 객체'와 '실제 객체'의 관계는 예를 들어서, '붕어빵 틀'과 '붕어빵'에 비유해 볼 수 있다.
<타입 객체와 실제 객체>
하나의 틀에서 여러 개의 붕어빵이 만들어질 수 있다. 즉, '타입 객체'라는 것은 '틀(frame)'로 볼 수 있는데, 그러나 단순히 물리적인 틀은 아니다. 정보를 가지고 있는 틀이다. 즉, 그 타입에 속하는 모든 실제 객체들이 가질 수 있는 공통의 정보를 가지고 있는 틀이다. 예를 들어, '유전자(gene) 정보'라는 것이 있다. 인간을 연구하다 보니 유전의 기본 단위가 있다는 것을 알게 되었는데 그것에 'gene'이라는 이름을 부여한 것이다.
'우리가 새로운 객체를 정의한다'는 것은 정확히 말하면 '그 객체의 타입을 정의하는 것'에 해당한다. gene은 객체 지향 관점에서 보면 대표적인 '객체 정의'에 해당한다. 실제 인간 객체가 태어나면 그들은 모두 '유전자'라는 공통의 정보를 그대로 물려받게 된다.
영어라는 언어는 '타입 객체'와 '실제 객체'의 구분 개념을 언어 차원에서 반영하고 있다. 예를 들어서, 영어라는 언어는 '호랑이'라는 것을 '실제 호랑이'와 '호랑이라는 동물 타입'을 구분해서 표현하게 된다. 그렇게 되면 결국 원어민들은 '타입 객체', '실제 객체'라는 용어는 모를 수 있지만, 그들이 태어나서 영어라는 말을 배워 가는 과정 속에서 그 구분 개념을 본능적으로 느끼게 된다는 것이다.
원어민들이 '타입 객체', '실제 객체'에 대해서 실제로 느끼는 느낌이 정확히 무엇인지는 알 수 없다. 하지만, 객체 지향 개념을 활용하면 그 느낌을 상상해 볼 수는 있다. 앞의 그림을 보면, '타입 객체'라는 것에 대해서는 '공통의 틀', '공통의 정보' 그리고 '하나(one)'라는 느낌이 있다. 그리고 '실제 객체'는 '다른 것과 구분이 될 수 있고 셀 수 있다(countable)'는 느낌이 있다. 원어민들이 태어나서 영어를 배워가는 과정 속에서 이런 느낌들이 자연스럽게 생성되었을 것이라는 것을 충분히 예상해 볼 수 있다. 요컨대, 객체 지향 개념을 활용하면 원어민이 느끼는 느낌을 역으로 추측해 보는 것이 가능하다는 것이다.
참고로, 이후는 '타입 객체'와 '실제 객체'의 구분 없이 그냥 '객체'라고만 하고, 필요한 경우만 구체적으로 구분해서 부르도록 하겠다.
원어민의 특징적인 사고 방식 중의 하나가 복합 개념(composite)이다. 이것은 '작은 객체가 모여서 더 큰 객체를 만들 수도 있다'는 것이다. 작은 객체들이 모여서 만들어 낼 수 있는 가장 큰 객체의 예가 '지구'이고 '우주'이다. 반대로 '큰 것을 작은 것으로 쪼갤 수도 있다'고도 본다. 그래서 발견하게 된 가장 작은 것 중의 하나가 '원자(atom)'라는 객체이다. 고대에서 생각하는 가장 작은 객체들은 4 원소('물, 불, 공기, 흙')였다. 참고로, 이처럼 시대에 따라서 최소 단위 객체에 대한 이름은 달라지고 있지만 세상을 '객체 중심'으로 바라보고 있는 그들의 사고방식 자체는 변하지 않고 있다는 것을 알 수 있다.
객체의 이런 복합 개념(composite)을 그림으로 그려 보면 다음과 같다.
<복합 객체 개념>
영어라는 언어는 이런 복합 객체의 특성도 표현할 수 있도록 진화되어 왔다. 이 특성 때문에 훈련자 입장에서는 영어를 익혀가는 방식이 달라질 수 있다. 나중에 이야기하겠지만, 전체 문장 표현을 이해할 때나 문장의 작은 부분을 이해할 때나 상관없이 모두 동일한 '객체 지향 방식'으로 이해할 수 있게 된다.
참고로, EOEP 훈련 체계를 '객체 지향 관점'에서 보면 이 또한 복합 객체로 볼 수 있다.
<EOEP 객체>
우리가 일반적으로 말하는 '상황(situation)'이라는 것은 객체 지향 관점에서 보면 복합 객체에 해당한다.
상황을 구성하고 있는 여러 요소들이 구성 객체들에 해당한다. 그림으로 그러보면 이름만 달라질 뿐 복합 객체와 동일한 개념으로 이해할 수 있다.
<상황 객체>
그런데 '상황'이라는 것과 관련해서 중요한 특성이 하나 있다. 실제로 현실에서 상황과 관련된 어떤 이슈가 발생했다고 해 보자. 해당 상황을 살필 때는 '전체 시각'에서 살펴볼 수도 있지만, 그 상황을 구성하고 있는 구체적인 '부분 요소'에 관심을 두고 살펴볼 수 있다. 비유를 하자면, 동일한 상황을 살펴보더라도 zoom in, zoom out을 통해서 전체와 부분을 바꿔가면서 살펴볼 수 있다는 것이다.
이런 특징은 영어라는 언어에서 여러 측면에서 나타난다. 예를 들어, 동일한 어휘가 zoom in, zoom out의 정도에 따라서 뉘앙스가 달라질 수 있다. 앞에서 deal이라는 단어를 살펴봤는데, 이것은 전체를 나타내는 의미로 사용될 수도 있지만, 구체적인 부분들 관점에서의 의미를 나타낼 수도 있다.
복합 객체는 단순히 객체들이 합쳐지는 것만으로 끝나는 것은 아니다. 객체들이 모이게 되면 물리적인 합(合) 이상의 것이 된다. 예를 들어서, 원자(atom)들이 모여서 물 분자(molecule)를 만들면 이제 그것은 단순히 원자만의 모임이 아니다. 실제 물과 관련된 특징이 추가적으로 생겨나게 된다. 객체 지향 관점에서 보면 이것이 '맥락 객체'이다. 그림으로 그려보면 다음과 같다.
<맥락 객체 개념>
'맥락 객체'는 명시적으로 드러나지 않는 일종의 배경 특성이다. 우리가 일상에서 흔히 '상황 맥락', '문장 맥락'이라는 말을 사용하는데 이것이 바로 '맥락 객체'에 해당한다.
<상황 맥락, 문장 맥락>
영어를 익힐 때 이런 맥락은 매우 중요한 의미가 있다. 하나의 어휘, 문법에는 여러 가지 의미가 있는 경우가 대부분이다. 그 중에서 실제로 어떤 의미로 사용될지가 결정되는 것은 '맥락'에 의해서이다. 이것이 훈련자들이 어떤 어휘, 문법에 대해 익숙해지고 싶다면 해당 문장뿐만 아니라 그것과 관련된 맥락이라는 것도 함께 살펴서 기억해야 하는 이유이다.
참고) 소리 맥락
소리 영역에도 이런 '맥락'이라는 것이 있다. 연음, 축약, 리듬 등은 단순히 발음의 합은 아니다. 그 배경 맥락 역할을 하는 발성 환경이라는 것이 함께 합쳐서 만들어 내는 결과이다.
객체들은 각자의 고유한 '상태(state)와 동작(action)' 속성을 가질 수 있다. 예를 들어서, 어떤 객체는 '딱딱한' 상태 속성(solid)을 가질 수도 있고 어떤 객체는 '말할 수 있는' 동작 속성(speak)을 가질 수도 있다. 객체와 속성 관계는 보통 다음처럼 그린다.
<상태 속성과 동작 속성>
상태와 동작 자체도 객체이다. 예를 들어, 어떤 객체의 동작 속성과 상태 속성을 비교 분석하는 맥락이라면 '동작, 상태' 자체는 독립적인 객체로 볼 수 있다.
하지만, 이보다 더 중요한 개념이 있다. '상태와 동작'이라는 것이 있으려면 그것의 주체도 항상 있어야 한다는 것이다. '주체가 없는 상태와 동작'이라는 것은 비유를 하자면 몸통은 없고 팔다리만 있는 것을 말한다.
'상태와 동작'과 관련된 개념들은 영어에서 매우 중요한 역할을 한다. 영어는 상태와 동작을 '독립 객체'로써 표현하기도 하고 때로는 주체 객체의 속성으로 표시하기도 한다. 상태와 동작 개념들은 영어 뉘앙스를 탐색할 때 중요하게 활용할 수 있다.
인간이라는 객체는 'speak 하고 listen 할 수 있는' 동작 속성을 가지고 있다. 이런 속성을 통해서 서로 영향을 주고받게 된다(interaction). 이때 영향을 가하는 객체와 영향을 받는 객체를 특별히 '주체', '대상'이라고 부를 수 있다. 이런 상호 작용개념을 그림으로 그리면 다음과 같다.
<객체의 상호 작용 개념>
이런 상호 작용이 정상적으로 작동하려면 주체와 대상이 그 동작과 어울려야 한다. 이것은 영어에도 그대로 반영되는데 예를 들어서, drive라는 동작의 주체와 대상으로 아무것이나 올 수 없다는 것이다. 훈련자 입장에 보면, drive라는 단어를 익힐 때 그것의 주체와 대상으로 무엇이 올 수 있는지를 함께 살펴야 한다는 것이다.
객체들의 상호 작용 결과로 인해서 그것들의 상태가 변할 수 있다. 예를 들어서, 상대로부터 '사랑한다'는 말을 듣게 되면, 그로 인해 '행복한' 상태로 변할 수 있다. 상태 변화 개념을 그림으로 나타내면 다음과 같다.
<상태 변화 개념>
영어라는 언어는 다른 객체에 영향을 미치는 '동작' 표현 그리고 그 결과로 인한 '상태 변화'를 효과적으로 표현할 수 있도록 진화되어 왔다. 어떤 어휘는 동작과 상태 변화를 모두 표현할 수 있다. 대표적인 것이 get이다. 이 단어는 영향을 미치는 동작과 그로 인한 상태 변화를 모두 표현할 수 있다.
주체가 대상에게 영향을 주면 대상도 주체에게 영향을 주게 된다. 누군가 무거운 물건을 밀고 있다고 했을 때, 사람이 물건을 미는 식으로 인식할 수도 있지만, 반대로 물건이 사람에게 영향을 주는 식으로 해석할 수도 있다. 이런 상호 작용 관계를 그림으로 나타내면 다음과 같다.
<작용과 반작용 개념>
'상호 작용'이라는 것은 항상 양쪽이 있고 동시에 일어난다. 영어는 이런 양면성이 있는 상황을 잘 표현할 수 있는 방향으로 진화되어 왔다. 때로는 동일한 어휘가 두 방향의 의미를 모두 나타낼 수 있는 경우도 많다. 예를 들어서, get, have, to, 관계사, to 부정사와 같은 문법 구문 등 다양한 경우에 있어서 하나의 어휘가 두 방향의 의미를 표현하는 것이 가능하다. 훈련자의 입장에서는 이 방향성 때문에 뉘앙스 문제를 크게 느낄 수도 있다.
객체 지향 세계에서 말하는 '인스턴싱(instancing)'이라는 것은 '타입 객체'의 정보를 그대로 이어받은 '실제 객체'가 만들어지는 순간을 말한다. 예를 들어서, 인간이 태어난다는 것도 '인스턴싱' 순간에 해당한다. 또는 아이디어가 어떤 계기를 바탕으로 해서 갑자기 떠오른다는 것도 인스턴싱으로 볼 수 있다.
어휘와 문법 구문들이 실제 상황에서 하나의 문장 표현(말 표현)으로 바뀌는 것도 일종의 인스턴싱에 해당한다고 볼 수 있다.
참고) for instance, for example
'instancing'은 '실제 객체를 생성한다', '타입을 실체화한다'는 의미를 가지고 있다. 그 결과로 만들어진 것이 instance이다. 소프트웨어 프로그래밍 분야에서는 실제로 '객체'라는 용어 대신에 좀 더 정확한 의미를 전달하기 위해서 '인스턴스'라는 용어를 사용하기도 한다. 이런 객체 지향 시각으로 보면, 'for instance'라는 표현은 상대방이 상황을 좀 더 쉽게 이해할 수 있도록 '구체적이고 실제적인 예'를 제시한다는 뉘앙스를 가지게 된다. 이에 비해서, for example은 '여러 가지 중에서 대표적인 예'라는 식의 느낌이 있다. 객체 지향 관점에서 보면 이 두 표현에는 약간의 뉘앙스 차이가 있다는 것이다.
영어라는 언어는 말한 대로 원어민이 보고 있는 객체 세상을 묘사하는 표현 도구이다. 다음은 객체 지향 특성들이 영어라는 언어 세계에서 어떻게 나타날 수 있는지를 구체적으로 알아본다. 이것은 영어식 뉘앙스를 느끼는데 직접적으로 활용될 수 있는 개념들이 될 것이다.