2.2 추상화


2.2.1 복잡성 다루기

세상은 복잡하다. 그래서 사람들은 종종 일상생활에서 복잡한 현상이나 인공적인 구조를 다루기 위해 더욱 단순한 형태로 만들어 낸다. 이와 같은 단순화는 본질적인 측면에 집중하고 덜 중요한 부분은 무시하는 작업이다. 단순화는 인공적인 구조나 현상을 이해, 설명, 표현, 계획, 분석, 또는 조작할 때 복잡성의 수준을 감소시킨다.

  • 이해
  • 설명
  • 표현
  • 계획
  • 분석
  • 조작

단순화에서 무엇이 필수적인지 아닌지는 사용 목적에 따라 달라진다. “아름다움은 보는 사람 눈에 달려있다"는 것처럼 무엇이 필수적인지는 사용 목적에 달려있다.한 번 사용을 위해 만든 단순화된 표현은 아마도 다른 사용 목적으로는 쓸모가 없을 수 있다!

사람들은 일상생활에서 단순화된 표현을 사용한다. 지도는 좋은 예이다. 그림 2-13과 같은 워싱턴 DC 지하철 시스템의 지도는 현실 세계의 교통 시스템을 형성하는 복잡한 현실의 단순화된 표현이다. 이것은 이용자 (여행자)가 지하철 (교통시스템)의 출발역에서 도착지역까지의 이동 (여정)을 계획하고 이동(완성)하는 것을 돕기 위해서 설계된 단순화된 표현이다. 지하철 노선도는 실제 지하철 시스템의 많은 정보 (복잡성)를 의도적으로 포함하지 않기 때문에 단순화된 표현이라고 할 수 있다. 지하철 노선도에는 다음과 같은 정보를 포함하고 있지 않다.

  • 시간 또는 비용
  • 역 위치
  • 역이 지상에 있는지 지하에 있는지
  • 지하철의 실내 구조

이와 같은 정보는 지하철 노선도에 표시되어 않지만 지하철 노선도는 노선 안내라는 목적에는 충분하다. 따라서 단순화는 지하철 노선을 안내하는데 매우 중요하다. 물론 다른 목적일 때 지하철 노선 정보만 보여주는 것은 유용하지 않을 수 있다. 예를 들어 지하철 노선도는 축적 정보를 표시하지 않는다. 그래서 지하철 노선도는 두 개의 역 사이에 있는 트랙의 수를 알아보기 위한 목적으로는 적합하지 않다. 지하철 노선도가 유용하지 않은 또 다른 사용 목적을 생각해낼 수 있을 것이다.


2-15
그림 2-15. 지하철 시스템의 추상화

 

실제 인공적인 구조와 단순화된 표현 사이의 관계는 1920년대 후반, 르네 마그리트에 의해 아래 그림과 같이 표현되었다. 이미지의 배반이라는 제목의 그림으로, 담배 파이프를 묘사하고 있다. 그리고 그림 안에는 프랑스어로 "이것은 파이프가 아닙니다." 라고 쓰여져 있다.
마그네트의 말을 인용하면:

“그 유명한 파이프. 사람들은 이 그림 때문에 나를 비난 했습니다. 그러나 내 그림 속 파이프에는 담배를 채울 수 없습니다. 이건 표상일 뿐이기 때문입니다. 안 그런가요? 그래서 내가 만일 내 그림에 “이것은 파이프입니다.”라고 쓰면 저는 거짓말을 하는 것입니다. - 르네 마그네트(Rene Magritte)


2-16

그림 2-16. 파이프의 추상화 

 

물론, 마그네트가 옳다. 그림의 파이프는 실제 파이프와 똑같지 않다. 그림은 단지 파이프의 단순화된 표현이다. 그림은 실제 파이프의 속성 (모양, 형상)의 일부를 포함하지만 파이프가 무엇으로 만들어진 것인지, 무게가 얼마나 나가는지, 등 실제적인 차원을 표시하지 않기 때문에 단순화된 표현이다.

요약: 단순화된 표현은 쉽게 작업하고 이해할 수 있게 개체의 복잡성을 감소시킨다.

 

 

Multiple Choice 추상화란??



 

Multiple Choice 위 파이프 그림의 추상화에 대해 고찰해보아라. 다음 질문들 중 이 추상화로 답할 수 있는 질문은 어느 것인가?




 

2.2.2 컴퓨팅에서의 추상화

 추상화는 컴퓨팅에 사용되는 실재의 단순화된 표현이다. 추상화를 통하여 아래와 같은 구체적 사물, 사건, 그리고 과정과 같은 실세계를 표현할 수 있다.

  • 사람 (peopls)
  • 장소 (places)
  • 행동 (actions)
  • 객체 (objects)
  • 사건 (events)
  • 방법 (processes)
  • ...

즉, 추상화는 강력하면서도 기본적인 방법이라고 할 수 있다.
추상화를 하는데 중요한 사실은 추상화는 컴퓨터에서 다룰 수 있는 정보로 표현되어야 한다. 마그네트는 오일과 캔버스를 사용하여 단순화된 표현을 그림으로 그렸지만, 컴퓨터에서는 오일과 캔버스 사용하여 단순화된 표현을 할 수 없다. 컴퓨터에서 실생활 인공물의 표현을 단순화하기 위한 추상화는 오직 한 가지 방법 밖에 없다. 우리는 나중에 컴퓨팅에서 추상화의 다른 사용 용도를 알아 볼 것이다.
하나의 실재를 추상화 하는 것은 정보로 표현될 수 있는 실재의 특성들의 수집을 의미한다. 정보는 우리가 다루어야 할 것들이다. 책으로 간단한 예를 들어보자. 책의 특성들은 아마 아래와 같은 것을 포함할 것이다.

  • 제목
  • 저자
  • 출판사

책은 위의 속성 외에도 더 많은 특성들을 포함한다.

  • 장르
  • 페이지
  • 하드커비인지 아닌지
  • 가격
  • 책 사이즈
  • 목차
  • 감사의 말
  • 표지 삽화
  • ISBN

이 외에도 더 많은 특성이 존재하며, 다른 특성들을 생각해 낼 수 있다.

이해관계자 (stakeholder) 의 개념은 종종 추상화가 사용될 방법과 관련된 실재(entity) 의 많은 특성을 결정하는 데 사용된다. 이해관계자는 종종 추상화로 정의하게 될 청중이나 사용자로 보여 지는 상상의 인물(혹은 인간 계급)에 관하여 정의한다. 예들 들어, 도서관 사서를 위한 프로그램을 개발하기 위하여 책을 표현할 경우, 제목, 저자, ISBN은 관련 있는 특성인 반면에 책 사이즈, 감사의 말, 표지 그림은 관련이 없다. 이 예에서 도서관 사서는 이해관계자 (stakeholder) 이다. 도서관 사서의 예는 특정 사람만을 언급하지 않고 도서관 사서 누구나, 또는 그와 비슷한 일을 하는 사람, 심지어 도서관 관리 시스템 등 모든 곳에 적용될 수 있다. 다른 이해관계자들은 (같은 책이라도 도서관 사서가 아닌 다른 목적에는) 다른 관련 있는 특성을 갖는다. 예를 들어, 만약 구매자에게 책을 배송하는 온라인 서점의 책의 표현에서 책의 무게와 사이즈(치수)는 중요한 속성이 될 수 있다. 여기서 이해관계자에게는, 책의 제목, 저자, 그리고 ISNB는 관련 없는 특성이다. 또한 온라인 서점을 위한 책 추상화는 배송시스템에서 고객주소, 납기일, 추적번호, 현재 위치와 같은 특성들을 포함할 수 있다.
추상화라는 용어는 매우 애매모호할 수 있지만, 컴퓨팅에서의 추상화는 매우 구체적이다. 추상화는 다양한 종류의 특성을 다루는 사이트의 웹페이지에서도 보여 질 수 있다. 예를 들면, 다음 이미지는 아마존에서 해리포터 책을 소개하고 있는 웹 페이지의 일부를 나타낸다. 웹 페이지에서, 아마존이 온라인 고객에게 책을 팔기위한 목적과 관련된 특성들을 보여주고 있기 때문에 책의 추상화를 보여주고 있다는 것을 알 수 있다. 이 경우에는 온라인 고객이 이해관계자이다. 이름, 저자, 표지, 그리고 가격 특성들이 웹 페이지 상단에 표시되어 있다.

2-18

그림 2-17. 아마존에서의 책 추상화

 

같은 해리포터 책이지만 다른 추상화로 나타내는 또 다른 웹페이지는 고려대학교 도서관 시스템 웹 페이지에 표현되어 있다. 아래의 이미지는 도서관 사서가 책과 관련된 특성을 어떻게 정의했는지 보여준다. 아마존 웹 페이지와 같이, 고려대학교 도서관 시스템 웹 페이지 또한 책의 제목과 저자를 나타낸다.

2-18

그림 2-18. 고려대학교 도서관에서의 책 추상화

 

그러나, 아마존과 고려대학교 도서관에서 해리포터 책의 추상화는 같지 않다. 아마존 웹사이트는 책 가격을 표시하는 반면, 고려대학교 도서관 웹사이트는 책 가격을 표시하지 않는다. 또한, 고려대학교 도서관의 추상화는 책 위치 코드 (도서관에서 책의 위치를 찾기 위한 번호)를 포함하는 반면 아마존에는 포함되어 있지 않다. 즉, 이해관계자가 다르면 같은 실재를 추상화 할지라도 요구사항이 다르다는 것을 보여준다.

 

 

Multiple Choice 추상화에는 관련된 부분, 관련되지 않는 부분 둘 다 묘사되어있다.


 

요약 :

  • 추상화는 컴퓨팅에서 사용되는 단순화된 표현이다.
  • 추상화는 실재와 관련된 특성을 제공한다.
  • 어떤 특성들이 관련되는지는 추상화가 사용될 목적에 따라 다르다.
  • 추상화가 다른 목적으로 사용될 때 같은 실재라도 다른 추상화로 표현될 수 있다.
[1] Torczyner, Harry. Magritte: Ideas and Images. p. 71.

 

2.2.3 추상화 표현

추상화의 정보 특성은 표와 텍스트로 표현될 수 있다. 표와 텍스트는 표현 방법이 같지는 않지만, 상황에 따라 유용하게 사용될 수 있다. 표 형식은 사람들이 서로 추상화를 설명하거나 설계 할 때 편리하게 사용될 수 있다. 텍스트 형식은 프로그래밍 할 때나 컴퓨터가 서로 통신(정보를 주고 받는)할 때 유용하게 사용된다.
추상화를 표로 표현하면 행과 열 구조를 사용하여 4개의 요소로 구성된다. 표에서, 행과 열은 특성의 값을 저장하는데 사용되고 표의 표제는 추상화의 제목을 나타낸다.

첫째, 표의 표제 는 정의된 추상화의 이름과 이해관계자를 포함한다. 이해관계자는 추상화와 관련 있는 개체의 모델링 될 많은 속성들을 결정하기 위해 필요한 정보를 갖는 상상의 인물(혹은 인간 계급)이라는 것을 기억해야한다. 예를 들어, 온라인 쇼핑몰 (예: 넥플렉스)을 위해 영화의 추상화를 정의할 때, 표제는 "영화"로 사용할 수 있고, 이해관계자는 온라인 고객으로 식별할 수 있다. 추상화는 온라인 고객과 관련된 영화의 특성을 포함할 것이다. 표제에서 제목과 이해관계자는 모두 필요하다. "영화" 추상화는 목적이 달라지면, 다른 정보를 요구하는 다른 이해관계자를 가질 수 있다.또한 "온라인 고객"은 다른 추상화의 관계자가 될 수도 있다.

둘째, 표의 상단 행은 추상화의 특성을 나타낸다. 각 특성은 하나의 행으로 되어 있다. 각특성은 그 특성의 고유한 특성을 반영하기 위해 이름이 지정된다. 예를 들어, "영화" 추상화는 "제목"과 "장르"라는 특성을 가질 수 있다. 따라서, "영화" 추상화의 표 상단 행은 "제목"이라는 하나의 열과 "장르"라는 또 다른 열을 가질 것이다.

셋째, 표의 칸은 서로 다른 특성의 을 나타낸다. 예를 들어, "제목" 특성이 가질 수 있는 값은 "바람과 함께 사라지다."가 될 수 있다. "바람과 함께 사라지다"는 값이 제목 열에 들어갈 수 있도록 표가 구성되어있다. "장르" 특성에 대한 가능한 값은 드라마일 수 있다. "드라마" 값은 "장르" 열에 넣을 수 있다.

넷째, 표의 본문에서 행(상단의 행은 본문으로 포함하지 않음)은 일괄적으로 추상화의 인스턴스 설명하는 값을 포함한다. 인스턴스는 모델링되어진 특정 실재의 구체적인 것이다. 예를 들어, "영화" 추상화에서, "바람과 함께 사라지다" 와 "드라마"는 특정 실재에 같은 설명을 하기 때문에 동일한 행에 있을 것이다.


2-19
그림 2-19. Representing an Abstraction using a Table

 

 

"온라인 고객"에 대한 "영화"추상화의 예는 (참조). 아래에 제공된다. 이 예에서, 다섯 가지 인스턴스가 있다. 그리고 각 인스턴스는 여섯 속성 "제목", "년도", "길이", "장르", "형식"및 "가격" 이 있다.


2-20
그림 2-20. Representing the Movie Abstraction using a Table

 

특성의 순서와 테이블의 인스턴스 순서는 중요하지 않다. 예를 들면, 위의 예제 표와 두 번째 예제는 완전하게 동일한 내용이 쓰여졌다.


2-21
그림 2-21. An Equivalent Table for the Movie Abstraction

 

두 표를 비교하면, 특성의 순서가 다르다는 것을 알 수 있다. 예를 들어, 첫 번째 표의 "제목" 특성은 첫 번째 열에 있지만, 두 번째 표에서는 다섯 번째 열에 있다. 또한 첫 번째 표에는 "바람과 함께 사라지다"가 두 번째 인스턴스에 있지만, 두 번째 표에서는 다섯 번째 인스턴스에 있다.
추상화를 위한 표 구성에서 중요한 것은 특성과 값의 관계를 각각의 인스턴스로 정확하게 변환시키는 것이다. 예를 들어, 첫 번째 표에서 "제목" 특성의 "머니 볼" 인스턴스는 장르 특성에서 "스포츠" 또한 가지고 있다. 이러한 특성과 값의 관계들은 두 번째 표에서도 마찬가지다.
추상화는 또한 특성과 값의 관계를 활용하여 텍스트로 표현될 수 있다.

텍스트 표현에서, 하나의 특성과 값의 관계가 아래와 같이 쓰여 질 수 있다.

property:value

하나의 인스턴스(특성과 값의 관계 집합)는 아래과 같이 쓰여질 수 있다.

{property1:value1, property2:value2, ... propertyn:valuen}

예를 들어, “영화" 인스턴스를 텍스트로 쓴다면 아래와 같다.

{Title: Moneyball, Year: 2011, Length: 133 min., Genre: Sports, Format: Blueray, Price: $15.00}

표의 인스턴스들을 아래의 표기와 같이 텍스트로 표현할 수도 있다.

( {instance1}, {instance2}, ... {instancen} )

전체 추상화의 시작과 끝을 알리기 위해, 시작과 끝에는 괄호가 사용된다. 추상화는 인스턴스들의 연속적인 표현이다. 예를 들어, 위에서 표로 표현된 "영화"의 추상화는 다음과 같이 텍스트로 작성될 수 있다.

( {Title: Moneyball, Year: 2011, Length: 133 min., Genre: Sports, Format: Blueray, Price: $15.00},
{Title: Gone With the Wind, Year: 1939, Length: 219 min., Genre: Drama, Format: DVD, Price: $10.95},
{Title: Jurassic Park, Year: 1993, Length: 127 min., Genre: SciFi, Format: DVD, Price: $12.50},
{Title: Pirates of the Caribbean, Year: 2003, Length: 143 min., Genre: Comedy, Format: Blueray, Price: $17.50},
{Title: Sicko, Year: 2007, Length: 116 min., Genre: Documentary, Format: Streaming, Price: $11.75} )

앞으로 프로그래밍 언어의 요소들에 관해서 볼 때 텍스트 형식을사용할 것이다. 표로 텍스트 표현과 완벽하게 같은 정보를 전달하면서, 텍스트 표현이 표 형식보다 읽기 힘들다는 것을 알 수 있을 것이다. 이것이 사람들끼리 의사소통을 위해서 표 형식을 사용하는 이유이다. 그러나, 컴퓨터는 텍스트 형식을 통해 의사소통하고 작업할 수 있도록 설계되어 있다.

 

Multiple Choice 추상화에 대한 설명으로 옳지 않은 것은?



 

Multiple Choice 의사가 환자의 속성을 단순화 시킬 때 필요하지 않은 속성은?




Leave a Reply

Your email address will not be published. Required fields are marked *

*