<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=SmallTalk%2F%EA%B0%95%EC%A2%8CFromHitel%2F%EA%B0%95%EC%9D%984</id>
	<title>SmallTalk/강좌FromHitel/강의4 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=SmallTalk%2F%EA%B0%95%EC%A2%8CFromHitel%2F%EA%B0%95%EC%9D%984"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=SmallTalk/%EA%B0%95%EC%A2%8CFromHitel/%EA%B0%95%EC%9D%984&amp;action=history"/>
	<updated>2026-05-14T21:53:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=SmallTalk/%EA%B0%95%EC%A2%8CFromHitel/%EA%B0%95%EC%9D%984&amp;diff=39233&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:28, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=SmallTalk/%EA%B0%95%EC%A2%8CFromHitel/%EA%B0%95%EC%9D%984&amp;diff=39233&amp;oldid=prev"/>
		<updated>2021-02-07T05:28:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;nosmokmoin 으로 변경시에 이 페이지가 에러가 발생하는 대표적인 예이다. 이 외에도 &lt;br /&gt;
[[vim|&amp;quot;Vim&amp;quot;]] 도 에러가 발생한다.&lt;br /&gt;
                           Smalltalk 배우기 #4&lt;br /&gt;
                                                    1998. 11. 27. 김찬홍&lt;br /&gt;
                                               mailto:andrea92@hitel.net&lt;br /&gt;
 &lt;br /&gt;
         ======================================&lt;br /&gt;
         1. Smalltalk의 소개&lt;br /&gt;
           1.1. 프로그램과 프로그래밍 언어&lt;br /&gt;
           1.2. Smalltalk의 설치&lt;br /&gt;
           1.3. Smalltalk 맛보기 프로그램&lt;br /&gt;
           1.4. 몇 가지 준비해야 할 것들&lt;br /&gt;
         →1.5. Smalltalk 환경 둘러보기&lt;br /&gt;
             1.5.1. 알림판&lt;br /&gt;
             1.5.2. 일터&lt;br /&gt;
             1.5.3. 객체 탐색기&lt;br /&gt;
             1.5.4. 갈래씨줄 탐색기&lt;br /&gt;
             1.5.5. 길수 탐색기&lt;br /&gt;
             1.5.6. 꾸러미 탐색기&lt;br /&gt;
             1.5.7. 창맵씨&lt;br /&gt;
             1.5.8. 자원 탐색기&lt;br /&gt;
             1.5.9. 발자취 창과 벌레잡개&lt;br /&gt;
           ........&lt;br /&gt;
         =======================================&lt;br /&gt;
 &lt;br /&gt;
                           1. Smalltalk의 소개&lt;br /&gt;
                      ------------------------------&lt;br /&gt;
 &lt;br /&gt;
 1.5. Smalltalk 환경 둘러보기&lt;br /&gt;
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
 Smalltalk를 실행해 보면 최소한 두 개의 창이 열려 있음을 볼 수 있습니다.&lt;br /&gt;
 하나는 &amp;quot;System Transcript&amp;quot;라는  제목이 붙어있는  &amp;quot;알림판&amp;quot;(transcript)이 &lt;br /&gt;
 있고, 나머지 하나는 &amp;quot;untitled -  workspace&amp;quot;라는 제목이 붙여진 &amp;quot;일터&amp;quot;가 &lt;br /&gt;
 그것입니다. 물론 Smalltalk 환경에는 이 두 가지 창 말고도 다른 여러 가지&lt;br /&gt;
 의 창이 있습니다. 각각은 저마다의 독특한 쓰임새를 가지고 있으며, 이들은 &lt;br /&gt;
 모두 Smalltalk로 프로그램을 짜는데 꼭 필요한 역할을 수행합니다.&lt;br /&gt;
 이제 이 마디[節]에서는 Smalltalk에는 어떤 창들이 있으며 이들이 대충  어&lt;br /&gt;
 떤 일을 하는지를 알아봄으로써, Smalltalk 환경의 특징들을 여러분이  간단&lt;br /&gt;
 히 알아볼 수 있도록 하겠습니다. 각 창들에 대해서 나중에 필요할 때 좀 더 &lt;br /&gt;
 자세하게 설명할 것입니다. 여기서는 그냥 이러이러한 창이 있으며, 대충 이&lt;br /&gt;
 렇게 생겼구나 하는 정도만 이해하도록 합시다.&lt;br /&gt;
 &lt;br /&gt;
 아직까지 자료실에서 Dolphin Smalltalk를 내리받아 설치하지 않으신 분이라&lt;br /&gt;
 면 지금부터는 조금 용량이 많기는  하더라도 Smalltalk 환경을 내리받아서 &lt;br /&gt;
 공부를 계속하시라고 권합니다. 세상은 멀티미디어화 되어가고 있지만  아직&lt;br /&gt;
 도 우리의 정겨운 통신 환경은 파란 바탕에 흰색 글자만 나타낼 수 있기 때&lt;br /&gt;
 문에, 그림을 곁들이고 싶은 필자의 간절한 마음이 반영되지 못하기  때문입&lt;br /&gt;
 니다. :)&lt;br /&gt;
 &lt;br /&gt;
 1.5.1. 알림판&lt;br /&gt;
 -------------&lt;br /&gt;
 Smalltalk 환경에서  가장 중요한  창은 &amp;quot;알림판&amp;quot;(transcript)입니다.  원래 &lt;br /&gt;
 &amp;#039;transcript&amp;#039;라는 낱말의 뜻은 &amp;#039;베껴낸  것, 사본, 등본&amp;#039;인데,  Smalltalk를 &lt;br /&gt;
 깊이 공부하지 못한 필자로써는 왜 transcript라는 낱말이 이 창에 붙게  되&lt;br /&gt;
 었는지를 이해하기가 어렵습니다. 아무래도  Smalltalk 시스템의 상태가  이 &lt;br /&gt;
 창에 그대로 반영되기 때문이 아닌가 생각합니다.&lt;br /&gt;
 &lt;br /&gt;
 여하튼 이 창은 Smalltalk 환경에서 가장 중요한 창입니다. 이 창이  열림으&lt;br /&gt;
 로써  바로  Smalltalk  환경이   시작되는 것이고,   이 창이   닫힘으로써 &lt;br /&gt;
 Smalltalk가 종료되는 것입니다. 즉 이 창은 Smalltalk 환경과 동고동락한다&lt;br /&gt;
 고 해도 과언이 아닐 정도로,  Smalltalk 환경이 실행되어 있다면  언제든지 &lt;br /&gt;
 열려있는 창입니다.&lt;br /&gt;
 &lt;br /&gt;
 이 창은 뒤에서 설명할 &amp;#039;일터&amp;#039;(workspace)와 비슷한 기능을 합니다.  그러나 &lt;br /&gt;
 알림판이 &amp;#039;일터&amp;#039;와 구별되는 가장 큰 특성은, Smalltalk 환경에서  사용자에&lt;br /&gt;
 게 알려야 할 것이 있으면 언제든지 이 창에 표시된다는 것입니다.&lt;br /&gt;
 프로그램을 실행하는데 중대한 잘못이 생겼다거나, 새로운 꾸러미를  불러왔&lt;br /&gt;
 다거나 이미 있던 꾸러미나 객체를 지울 때 문제가 있었다는 등 이 알림판에&lt;br /&gt;
 는 Smalltalk 환경이 우리에게 알려야 할 여러 가지 사항들이 기록됩니다.&lt;br /&gt;
 물론 여러분이 이 알림판에 지시를 보내어 여러분만의 글줄을 찍게 할  수도 &lt;br /&gt;
 있습니다만, 그것은 조금 뒤로 미루겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 Smalltalk 환경을 끝낼 때 File &amp;amp;gt; Exit Dolphin 명령을 내리는 대신 알림판&lt;br /&gt;
 을 닫게 되면 Smalltalk 환경을 끝낼 수 있습니다.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 1.5.2. 일터&lt;br /&gt;
 -----------&lt;br /&gt;
 일터(workspace)란 Smalltalk 환경에서  알림판 다음으로 중요한  창입니다. &lt;br /&gt;
 여러분은 일터에서 무엇을 합니까? :) 일을 하지요? 일에 성격에 따라 좀 다&lt;br /&gt;
 르겠지만, 몸을 많이 움직여야 하는 일이라면, 땀을 흘리면서 물건을 나르기&lt;br /&gt;
 도 하고 뛰기도 하면서 이 일터를 누빕니다. 머리를 쓰는 일이라면 이 일터&lt;br /&gt;
 에서 글을 쓰기도 하고 지우기도 합니다. 여러분이 회사의 사장이라면  일터&lt;br /&gt;
 에서 아랫사람들에게 여러 가지 지시를 내립니다. 그리고 지시를 받은  사람&lt;br /&gt;
 들은 자신이 처리한 일의 결과를 사장에게 되돌려 보내줍니다. 이렇듯  일터&lt;br /&gt;
 는 분주한 곳입니다. &lt;br /&gt;
 &lt;br /&gt;
 Smalltalk의 일터 또한 마찬가지입니다.  여기서 여러분은 기본적으로  글을 &lt;br /&gt;
 쓸 수 있습니다. 이 글이 Smalltalk에게 내리는 명령이 될 수도 있고, 명령&lt;br /&gt;
 을 설명하는 풀이글이 될 수도 있으며, 그냥 아무런 관계없는 글이 될 수도&lt;br /&gt;
 있습니다.&lt;br /&gt;
 일터에서 여러분은 Smalltalk에서 명령을 내리고 그 결과를 시험합니다.  그&lt;br /&gt;
 리고 프로그램의 어떤 부분을 만들기 전에 여기서 기본적으로 여러 가지  명&lt;br /&gt;
 령을 내려봄으로써 논리를 세워 나갈 수도 있습니다.&lt;br /&gt;
 &lt;br /&gt;
 새로운 일터를 만들기 위해서는 File &amp;amp;gt; New 메뉴를 사용하거나, 도구 모음에&lt;br /&gt;
 서 &amp;quot;흰 종이가 그려진 그림&amp;quot;을 누르면 됩니다. 알림판이 오직 하나밖에 존재&lt;br /&gt;
 할 수 없는데 비해, 일터는 여러분이 필요한 수만큼 많이 만들 수 있습니다. &lt;br /&gt;
 그리고 각각의 일터에 기록된 글들을 따로따로 저장하거나 불러올 수 있습니&lt;br /&gt;
 다. 그러므로 어떤 명령을 실행한  뒤에 나타나는 여러 가지 결과와  더불어 &lt;br /&gt;
 여러분이 내린 명령을 따로 하나의 파일로 저장해 둘 수 있다는 말입니다.&lt;br /&gt;
 &lt;br /&gt;
 앞서 우리는 알림판에 지시를 내림으로써 우리가 원하는 글줄을 찍을 수  있&lt;br /&gt;
 다고 했습니다. 그럼 다음과 같이 명령해 보십시오.  글쇠를 사용해&lt;br /&gt;
 서 아래 명령을 실행하십시오. (Smalltalk 명령을 실행하는 방법에 어려움을 &lt;br /&gt;
 겪는 분이라면 &amp;quot;1.3&amp;quot; 마디를 참조하시기 바랍니다.)&lt;br /&gt;
 &lt;br /&gt;
         Transcript show: &amp;#039;안녕하세요?&amp;#039;.&lt;br /&gt;
         ☞ 안녕하세요?          &amp;quot;알림판에 이 내용이 표시된다.&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ---&amp;amp;lt;잠깐!&amp;amp;gt;----------------------------------------------------------&lt;br /&gt;
                          베끼기는 하지 맙시다!&lt;br /&gt;
 &lt;br /&gt;
 앞으로 이 글을 진행하면서 무수히 많은 Smalltalk의 명령이 소개될  것입니&lt;br /&gt;
 다. 그래서 저는 여러분에게 부탁을 드릴까 합니다.&lt;br /&gt;
 이 글에서 제공되는 Smalltalk 명령을 복사하여 일터에 붙여 넣어서  실행하&lt;br /&gt;
 시지 말았으면 하는 것이 제 부탁입니다.&lt;br /&gt;
 좀 번거롭더라도 지금 여러분이 읽고 있는 명령을 그대로 일터에 글쇠판으로 &lt;br /&gt;
 쳐 넣고 실행하여 결과를 관찰하는 것이 훨씬 좋습니다. 단순히 복사해서 붙&lt;br /&gt;
 여 넣는 것 보다 실제로 글쇠판에서 명령을 치게 되면, 이 글에서 일단 명령&lt;br /&gt;
 을 읽어서 머리에 기억되게 되고, 기억된 것을 글쇠판으로 치면서 일터에 나&lt;br /&gt;
 타난 명령을 보게 되고, 명령을 실행하면서 세 번째로 명령을 보게  됩니다. &lt;br /&gt;
 그러나 명령을 복사하고 붙이는 것은 전혀 이러한 효과를 볼 수가 없습니다.&lt;br /&gt;
 &lt;br /&gt;
 글을 어떻게 읽고 어떻게 실행하는지는 전적으로 여러분에게  달려있습니다. &lt;br /&gt;
 그러나 좀 더 효과적인 공부를 위해서는 모든 Smalltalk 명령을 여러분이 스&lt;br /&gt;
 스로 쳐 넣으며 실행해야 합니다. 맹목적으로 명령을 쳐 넣는 것이  아니라, &lt;br /&gt;
 도대체 이 명령이 어떤 의미인지를  생각하면서 입력하면 Smalltalk 공부는&lt;br /&gt;
 생각 외로 매우 쉬워질 것입니다. 이는 필자가 처음 &amp;quot;Smalltalk Tutorial&amp;quot;을 &lt;br /&gt;
 공부할 때 직접 경험한 것이므로, 한 번 믿어보셔도 좋을 것입니다.&lt;br /&gt;
 ----------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
 어떻습니까? 방금 실행한 명령의 결과가 그대로 알림판에 나타났습니다.  이&lt;br /&gt;
 렇게 일터에서 여러분은 Smalltalk에게 명령을 내릴 수 있습니다. 또한 다음&lt;br /&gt;
 과 같은 명령을 사용하여 일터에 명령의 수행 결과를 출력할 수도 있습니다.&lt;br /&gt;
 &lt;br /&gt;
         3 + 4.  ☞ 7    &lt;br /&gt;
 &lt;br /&gt;
 이처럼 일터는 여러분의 Smalltalk 프로그래밍에  있어서 가장 자주 접하게 &lt;br /&gt;
 되는 창이므로, 그 사용 방법을 확실히 익혀두는 것이 좋을 것입니다.&lt;br /&gt;
 &lt;br /&gt;
 참고로 일터에서 할 수 있는  대부분의 일을 알림판에서도 할 수  있습니다. &lt;br /&gt;
 그렇지만 관례적으로 Smalltalk에서 대부분의 작업은 알림판이 아닌  일터에&lt;br /&gt;
 서 수행합니다. 알림판에는 주로 알림  사항이 기록되도록 하고, Smalltalk &lt;br /&gt;
 환경 전체에 영향을 줄 명령이 있다면 이 &amp;#039;알림판&amp;#039;에서 실행하는 것이  관례&lt;br /&gt;
 로 되어 있습니다.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 1.5.3. 객체 탐색기&lt;br /&gt;
 ------------------&lt;br /&gt;
 객체 탐색기(object inspector)는 명령을 실행할 떄 나  글&lt;br /&gt;
 쇠 대신  글쇠를 사용할 때 나타나는 창입니다. 이 창은 기본적으로&lt;br /&gt;
 복잡한 구조를 가지고 있는 객체의 내용을 좀 더 잘게 쪼개어 탐색하기 편리&lt;br /&gt;
 하도록 만들어진 도구입니다. 앞에서 우리가  탐색기를 사용한 예를 생각해 &lt;br /&gt;
 보십시오. 아래의 명령은 Smalltalk 환경에 들어 있는 모든 갈래(class)들을 &lt;br /&gt;
 가나다 순서로 늘어놓은 모듬을 되돌리는 명령입니다.&lt;br /&gt;
 &lt;br /&gt;
         Class allClasses asSortedCollection  ☞ &amp;quot;객체 탐색기 열림&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 위의 명령을  글쇠로 실행해 보면 &amp;quot;Inspecting a SortedCollection&amp;quot;&lt;br /&gt;
 이라는 제목이 붙은 창이 열릴 것입니다. 위의 명령을 실행하게 되면 500 개&lt;br /&gt;
 가 넘는 원소들이 들어 있는 모듬이 결과값으로 돌아오게 되는데 이를 좀 더&lt;br /&gt;
 쉽게 탐색하기 위해서는 객체 탐색기를 사용하는 것이 편리합니다.&lt;br /&gt;
 &lt;br /&gt;
 객체 탐색기는 두 부분으로 이루어지는데, 왼쪽에는 그 객체에 속해있는  부&lt;br /&gt;
 분 부분들의 이름이 표시되고, 오른쪽에는 현재 돋이된 부분의 값이  표시됩&lt;br /&gt;
 니다. 맨 위의 &amp;quot;self&amp;quot;는 탐색하고 있는 객체 자신을 나타냅니다.&lt;br /&gt;
 &lt;br /&gt;
 객체 탐색기는 복잡한 구조의 객체를 효율적으로 들여다보는데 매우 큰 몫을 &lt;br /&gt;
 하고 있습니다.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 1.5.4. 갈래씨줄 탐색기&lt;br /&gt;
 ----------------------&lt;br /&gt;
 자, 여러분이 지금 어디에 있던지 Tools &amp;amp;gt; Class Hierarchy Browser  메뉴를&lt;br /&gt;
 실행시키거나  글쇠판에서   를  누르면   &amp;#039;갈래씨줄  탐색기&amp;#039;Class &lt;br /&gt;
 Hierarchy Browser)를 불러낼 수 있습니다. 갈래씨줄 탐색기를 줄여서 &amp;#039;갈래 &lt;br /&gt;
 탐색기&amp;#039;라고도 부릅니다.&lt;br /&gt;
 &lt;br /&gt;
 갈래는 홀로 떨어져서 있는 것이  아니라 다른 갈래와 관계를 맺고  있는데, &lt;br /&gt;
 이 갈래씨줄 탐색기는 이러한 갈래들의 씨줄(hierarchy)을 짚어가며  갈래들&lt;br /&gt;
 을 탐색할 때 사용하는 도구입니다.  모두 크게 내 부분으로 이루어진  갈래 &lt;br /&gt;
 탐색기가 매우  복잡해 보이겠지만,  이 창에  익숙해질 때쯤이면  여러분은 &lt;br /&gt;
 Smalltalk의 절반 이상을 공부한 셈이 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 Smalltalk에서는 모든 것이 객체입니다.  그러므로 프로그래밍을 할  때에도 &lt;br /&gt;
 이러한 객체를 사용하거나 아니면 새로 만들어야 합니다. 이 일을 이  &amp;#039;갈래 &lt;br /&gt;
 탐색기&amp;#039;에서 할 수 있기 때문에, &amp;#039;일터&amp;#039;와 더불어 프로그래밍을 할 때  가장 &lt;br /&gt;
 자주 사용되는 도구이기도 합니다.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 1.5.5. 길수 탐색기&lt;br /&gt;
 ------------------&lt;br /&gt;
 우리가 Smalltalk에게 어떤 명령을 내리면 Smalltalk는 길수(method)를 뒤져&lt;br /&gt;
 서 이 명령을 어떻게 실행해야할지를 알아냅니다. 길수 탐색기는 이러한  길&lt;br /&gt;
 수들을 따로 모아서 탐색할 때 쓰이는 도구입니다. 다음의 명령은 길수 중에&lt;br /&gt;
 서 &amp;#039;Dolphin&amp;#039;이라는 낱말이 들어간 것을 지금 쓰고 있는 본(image)에서 죄다 &lt;br /&gt;
 찾아내는 명령입니다. 약 3M 이상 되는 바탕글(source code)에서 글귀를  찾&lt;br /&gt;
 는 것이므로 몇 초 정도 시간이 걸립니다.&lt;br /&gt;
 &lt;br /&gt;
         SmalltalkSystem current browseContainingSource: &amp;#039;Dolphin&amp;#039; &lt;br /&gt;
         ☞ &amp;quot;길수 탐색기 열림&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 생각보다 많은 길수에 &amp;quot;Dolphin&amp;quot;이라는  글귀가 포함되어있습니다. 이  길수 &lt;br /&gt;
 탐색기는 크게 두 부분으로 나누어져 있습니다. 위쪽 창에는 길수  이름들이 &lt;br /&gt;
 표시되어 있고 각각의 길수를 돋이할 수 있도록 되어있습니다. 그리고  아래&lt;br /&gt;
 쪽 창에는 위쪽 창에서 돋이되어있는 길수의 바탕글이 표시됩니다. 길수  탐&lt;br /&gt;
 색기는 앞서 말한 것과 같이 주로 여러 갈래(class)에서 조건에 맞는 길수를 &lt;br /&gt;
 뽑아내어 내용을 살펴보고자 할 때 사용합니다.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 1.5.6. 꾸러미 탐색기&lt;br /&gt;
 --------------------&lt;br /&gt;
 Smalltalk 환경의 Tools &amp;amp;gt; Package Browser 메뉴를 선택하면 꾸러미  탐색기&lt;br /&gt;
 를 열  수 있습니다.  꾸러미(package)에는 Smalltalk의  갈래, 객체,  자원&lt;br /&gt;
 (resource) 등이 함께 꾸려져서 들어있습니다. 주로 꾸러미는 하나의 커다란 &lt;br /&gt;
 프로그램을 만들 때, 그 프로그램과 관계된 여러 가지 객체들을 넣어놓고 관&lt;br /&gt;
 리하기 위해서 사용됩니다. 꾸러미 탐색기는 이러한 꾸러미를 새로 만들거나 &lt;br /&gt;
 이미 있던 꾸러미를 들여오거나, 지우거나 고치는 일을 합니다. &lt;br /&gt;
 &lt;br /&gt;
 꾸러미 탐색기는 크게 세 부분으로 되어있습니다. 왼쪽에 세로로 길게  되어 &lt;br /&gt;
 있는 창은 현재 Dolphin Smalltalk 환경에 설치되어있는 꾸러미들을  늘어놓&lt;br /&gt;
 느 것입니다. 오른쪽 윗부분은 현재 꾸러미에 들어있는 것들을 살펴보기  위&lt;br /&gt;
 한 곳으로써, 갈래, 길수, 넓은 꼬리표(global variables), 자원 등을  각각 &lt;br /&gt;
 따로따로 볼 수 있는 고름(tab)이 달려있습니다. 오른쪽 아랫부분은  위에서 &lt;br /&gt;
 돋이된 내용을 실제로  보여주는 곳입니다.  갈래가 돋이되어있다면  갈래꼴&lt;br /&gt;
 (class definition)을, 길수가 돋이되어 있다면 바탕글 등을 보여줍니다.&lt;br /&gt;
 &lt;br /&gt;
 꾸러미 탐색기는 Smalltalk 환경에서 움직이는  모든 객체를 관리하는 매우 &lt;br /&gt;
 중요한 도구입니다.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 1.5.7. 창맵씨&lt;br /&gt;
 -------------&lt;br /&gt;
 창맵씨(View Composer)는 사용자 접속 환경(User Interface)를 만드는  도구&lt;br /&gt;
 입니다. Tools &amp;amp;gt; View Composer 메뉴를  선택하면 이 창을 열 수  있습니다. &lt;br /&gt;
 여기서 여러분은 창(window)이나 대화 상자(Dialog box)를 만들어서  프로그&lt;br /&gt;
 램을 사용하는 최종사용자가 자료를 입력할 수 있도록 해 줍니다.&lt;br /&gt;
 &lt;br /&gt;
 넓은 부분이 실제로 창을 설계할  때 사용하는 부분이고, 아래에 위치한  세 &lt;br /&gt;
 개의 창은 각각 현재 창의 뼈대, 현재 선택된 객체가 가지는 꼴(aspect), 그&lt;br /&gt;
 리고 바로 왼쪽에 돋이되어있는 꼴이 갖고 있는 값을 표시하는 부분입니다. &lt;br /&gt;
 &lt;br /&gt;
 창맵씨에는 &amp;#039;연모통&amp;#039;(tool box)라고 하는 딸림창이 떠 있습니다. 이  창에는 &lt;br /&gt;
 창을 만들 때  필요한 여러  가지 부품 자원이  들어있습니다. 글씨  꼬리표&lt;br /&gt;
 (label), 입력 상자(edit box), 단추(push button)는 물론 이미 만들어진 창&lt;br /&gt;
 도 여기에 표시됩니다.&lt;br /&gt;
 &lt;br /&gt;
 Delphi나 Visual Basic에서는 창을 설계하는 것에 상당히 많은 비중을  둡니&lt;br /&gt;
 다. 물론 Smalltalk에서도 창 만들기는 매우 중요한 위치를 차지하지만,  기&lt;br /&gt;
 본적으로 창을 설계하기 전에 먼저 객체를 만들어야 합니다. 따라서  앞으로 &lt;br /&gt;
 창맵씨를 사용하기까지 참으로 긴 여정이 여러분을 기다리고 있을 것입니다.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 1.5.8. 자원 탐색기&lt;br /&gt;
 ------------------&lt;br /&gt;
 Tools &amp;amp;gt; Resource Browser를 선택하면 자원 탐색기를 열 수 있습니다.  앞서 &lt;br /&gt;
 창맵씨를 설명하면서 &amp;#039;연모통&amp;#039;에 대해서 이야기한 적이 있습니다.  연모통은 &lt;br /&gt;
 창을 만들 때 쓸 수 있는 여러 가지 부품 자원들이 들어있다고 했는데, 자원&lt;br /&gt;
 탐색기는 이러한 자원을 관리하는 일을 합니다. 새로운 자원을 만들거나  이&lt;br /&gt;
 미 있는 자원의 이름을 바꾸기도 하고, 자원이 연결된 갈래의 상태를 바꾸기&lt;br /&gt;
 도 합니다. 창맵씨와 더불어 자원 탐색기도 사용자 접속 환경을 만드는데 매&lt;br /&gt;
 우 중요한 역할을 수행하고 있습니다.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 1.5.9. 발자취 창과 벌래잡개&lt;br /&gt;
 ---------------------------&lt;br /&gt;
 사람은 누구나 실수를 하기마련입니다. 저도 그렇고 여러분도 그럴  겁니다. &lt;br /&gt;
 Smalltalk에게 명령을 내릴 때에도 여러분이나 저나 실수를 할 때가  있습니&lt;br /&gt;
 다. &amp;quot;발자취 창&amp;quot;(walkback window)은 Smalltalk 프로그램이 실행되는 상태에&lt;br /&gt;
 서 어떤 중대한 문제가 발생했을 때, 지금까지 어떤 길수들이 어떻게 실행되&lt;br /&gt;
 어왔는지의 자취를 표시하고, 사용자가 알맞은 조치를 취할 수 있도록  돕는 &lt;br /&gt;
 창입니다.&lt;br /&gt;
 &lt;br /&gt;
 아래의 명령을  글쇠로 실행시켜 봅시다.&lt;br /&gt;
 &lt;br /&gt;
         5 hello  ☞ &amp;quot;발자취 창 열림&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 위 명령을 실행하자마자 &amp;quot;SmallInteger does not understand #hello&amp;quot;라는 제&lt;br /&gt;
 목이 붙은 발자취  창이 표시될 것입니다.  이 내용인즉슨  &amp;quot;SmallInteger는 &lt;br /&gt;
 hello라는 지시를 알아듣지 못했다&amp;quot;는 것입니다.  즉 &amp;quot;5 hello&amp;quot;라는 명령을 &lt;br /&gt;
 Smalltalk가(정확히는 숫자 &amp;#039;5&amp;#039;가) 알아듣지 못했다는 말입니다.&lt;br /&gt;
 &lt;br /&gt;
 그리고 아래에 나타난 작은 상자 안에 여태까지 명령을 실행한 발자취를  표&lt;br /&gt;
 시합니다.&lt;br /&gt;
 &lt;br /&gt;
 ---------------------------------------&lt;br /&gt;
         SmallInteger(Object)&amp;amp;gt;&amp;amp;gt;doesNotUnderstand:&lt;br /&gt;
         UndefinedObject&amp;amp;gt;&amp;amp;gt;{unbound}doIt&lt;br /&gt;
         CompiledExpression&amp;amp;gt;&amp;amp;gt;value:&lt;br /&gt;
         SmalltalkWorkspace&amp;amp;gt;&amp;amp;gt;evaluateRange:ifFail:&lt;br /&gt;
         SmalltalkWorkspace&amp;amp;gt;&amp;amp;gt;evaluateItIfFail:&lt;br /&gt;
         SmalltalkWorkspace&amp;amp;gt;&amp;amp;gt;evaluateIt&lt;br /&gt;
                 ....(하략)&lt;br /&gt;
 ---------------------------------------&lt;br /&gt;
 &lt;br /&gt;
 여러분 대부분이 아직 위의 내용이 무엇을 의미하는지 정확하게 이해하지 못&lt;br /&gt;
 했을 것입니다. 그러나 Smalltalk에 익숙한 사람들은 위의 정보를 보고,  대&lt;br /&gt;
 체 어떤 경로를 따라서 명령이 실행되었으며 어디서 문제가 발생헀는지를 추&lt;br /&gt;
 측할 수 있게 됩니다. 물론  대부분의 경우는 발자취 창의 제목만  보고서도 &lt;br /&gt;
 문제의 원인을 파악할 수 있습니다. 지금과 같은 경우에는 우리가 내린 명령&lt;br /&gt;
 을 알아듣지 못했다는 것이 문제이겠지요.&lt;br /&gt;
 &lt;br /&gt;
 이 발자취 창의 아래쪽에 네  개의 단추가 있습니다. 이 중에서  은 &lt;br /&gt;
 문제를 무시하고 계속 프로그램을 실행시킬 때 쓰고, 는 지금 실&lt;br /&gt;
 행시킨 명령 실행을 끝내라는 것이고,  마지막으로 은 현재 실행되고&lt;br /&gt;
 있는 명령에 대한 정보를 깡그리 지워버리고 명령 실행을 중단할 때  사용합&lt;br /&gt;
 니다.&lt;br /&gt;
 &lt;br /&gt;
 여기서  단추를 누르면 &amp;quot;벌레잡개&amp;quot;(debugger) 창이 나옵니다. 이  창&lt;br /&gt;
 은 여러 개의 명령을 하나씩 하나씩 실행하면서 명령을 실행할 때 마다 바뀌&lt;br /&gt;
 는 여러 객체의 상태를 관찰하면서 문제의 원인을 탐색할 때 사용하는  도구&lt;br /&gt;
 입니다. 쉽게 말해서, 탐정들이 사건이 일어난 것을 되짚으면서 원인을 찾는&lt;br /&gt;
 것과 비슷하다고 하겠습니다. 벌레잡개 창은 그 구조와 동작이 매우  복잡하&lt;br /&gt;
 게 이루어져 있어서, Smalltalk에서 명령이 어떤 방식으로 실행되는지를  알&lt;br /&gt;
 아야만 제대로 활용할 수 있는 도구입니다. 그러므로 지금은 단순히  벌레잡&lt;br /&gt;
 개가 이런 것이구나 정도로만 이해해 두면 될 것입니다. 나중에  벌레잡개를 &lt;br /&gt;
 어떻게, 언제, 왜 사용해야 하는지에 대해서 자세하게 이야기할 기회가 있을 &lt;br /&gt;
 것입니다.&lt;br /&gt;
 &lt;br /&gt;
 ---&amp;amp;lt;잠깐!&amp;amp;gt;----------------------------------------------------------&lt;br /&gt;
                         다른 Smalltalk에서는...&lt;br /&gt;
 &lt;br /&gt;
 기본적으로 모든 Smalltalk 환경은 알림판과  일터, 갈래씨줄 탐색기, 객체 &lt;br /&gt;
 탐색기, 발자취 창, 벌레잡개를 가지고 있습니다. 그리고 여기에 더해서  각&lt;br /&gt;
 각의 Smalltalk마다 조금씩  다른 기능을 가지는  창이 추가되어  있습니다.&lt;br /&gt;
 Dolphin의 경우 꾸러미 탐색기나 창맵씨, 자원 탐색기가 있으며,  Smalltalk &lt;br /&gt;
 Express라는 Smalltalk 환경에서는 Disk Browser가 있다고 합니다.&lt;br /&gt;
 ----------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
 ---&amp;amp;lt;잠깐!&amp;amp;gt;----------------------------------------------------------&lt;br /&gt;
 Windows와 같이 그림 위주의 사용자 환경(GUI)에서는 마우스가 필수적인  입&lt;br /&gt;
 력장치로 생각되고 있습니다. 물론 이것은 맞는 말입니다. 그러나  마우스가 &lt;br /&gt;
 언제나 편한 것만은 아닙니다. 어떤 때는 글쇠판이 마우스보다 편할  경우가 &lt;br /&gt;
 있으니까요.&lt;br /&gt;
 Smalltalk로 작업을 하다보면 여러 개의 창이 열려있고 각각의 창을  왔다갔&lt;br /&gt;
 다해야 하는 일이 잦습니다. 이럴 때 일일이 작업 표시줄에 있는 창 제목을 &lt;br /&gt;
 눌러서 이동하는 것보다는 이나  글쇠를 눌러서  이&lt;br /&gt;
 동하는 것이 훨씬 편합니다. 글쇠를 누른 상태에서  글쇠를  눌러&lt;br /&gt;
 보십시오. 그리고  글쇠에서 손을 떼어 보십시오. 그러면 화면  가운데 &lt;br /&gt;
 작은 창이 뜨고, 현재 열려 있는 창들이 표시될 것입니다. 은 오른&lt;br /&gt;
 쪽으로 이동하고,  은 왼쪽으로  이동합니다. 이는  Windows &lt;br /&gt;
 3.1 때부터 있던 &amp;#039;작업 전환&amp;#039;기능인데, 특히 Smalltalk처럼 많은 창을  가지&lt;br /&gt;
 고 작업해야 할 때 편리하게 사용할 수 있을 것입니다.&lt;br /&gt;
 ----------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
        ==========================================================&lt;br /&gt;
 &lt;br /&gt;
 지금까지 우리는 Smalltalk란 대체 어떤  언어이고, 어떻게 동작하며, 또한 &lt;br /&gt;
 Smalltalk 환경을 어떻게 설치하고 유지하는지에 대해서 알아보았습니다. 그&lt;br /&gt;
 리고 Smalltalk 환경이 어떻게 생겼는지도 둘러보았습니다. 이 과정에서  우&lt;br /&gt;
 리는 몇 가지 짧지만 Smalltalk의 특징이 잘 드러난 몇 개의 명령들을 실행&lt;br /&gt;
 해 봄으로써, Smalltalk 환경에 친해질 수 있도록 했습니다.&lt;br /&gt;
 &lt;br /&gt;
 이제 여기까지 온 여러분은 Smalltalk 환경에 대해서 어느 정도 익숙해 있어&lt;br /&gt;
 야 합니다. Smalltalk를 시작하고 끝내고, 명령을 내리는 일 등은 Smalltalk&lt;br /&gt;
 를 공부하면서 가장 기본적으로 알고있어야 할 사항들이기 때문입니다. 이제 &lt;br /&gt;
 이런 것들을 바탕으로 다음 가름[章]에서부터는 Smalltalk 언어와  객체지향&lt;br /&gt;
 에 대해서 본격적으로 알아보도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
                                                                 계속...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[SmallTalk/강좌FromHitel]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>