nosmokmoin 으로 변경시ì—� ì�´ 페ì�´ì§€ê°€ ì—�러가 ë°œìƒ�하는 대표ì �ì�¸ 예ì�´ë‹¤. ì�´ 외ì—�ë�„
Vim � �러가 발�한다.
Vim � �러가 발�한다.
~cpp
Smalltalk 배우기 #4
1998. 11. 27. 김찬�
mailto:andrea92@hitel.net
======================================
1. Smalltalk� 소개
1.1. 프로그램과 프로그래� 언어
1.2. Smalltalk� 설치
1.3. Smalltalk 맛보기 프로그램
1.4. 몇 가지 준비해야 í• ê²ƒë“¤
→1.5. Smalltalk 환경 둘러보기
1.5.1. 알림�
1.5.2. �터
1.5.3. �체 �색기
1.5.4. 갈래씨줄 �색기
1.5.5. 길수 �색기
1.5.6. 꾸러미 �색기
1.5.7. 창맵씨
1.5.8. �� �색기
1.5.9. ë°œìž�ì·¨ 창과 ë²Œë ˆìž¡ê°œ
........
=======================================
1. Smalltalk� 소개
------------------------------
1.5. Smalltalk 환경 둘러보기
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Smalltalk를 실행해 ë³´ë©´ 최소한 ë‘� ê°œì�˜ ì°½ì�´ ì—´ë ¤ 있ì�Œì�„ ë³¼ 수 있습니다.
하나는 "System Transcript"ë�¼ëŠ” ì œëª©ì�´ 붙어있는 "알림íŒ�"(transcript)ì�´
ìžˆê³ , 나머지 하나는 "untitled - workspace"ë�¼ëŠ” ì œëª©ì�´ 붙여진 "ì�¼í„°"ê°€
그것입니다. ë¬¼ë¡ Smalltalk 환경ì—�는 ì�´ ë‘� 가지 ì°½ ë§�ê³ ë�„ 다른 여러 가지
ì�˜ ì°½ì�´ 있습니다. ê°�ê°�ì�€ ì €ë§ˆë‹¤ì�˜ ë�…특한 쓰임새를 ê°€ì§€ê³ ìžˆìœ¼ë©°, ì�´ë“¤ì�€
모ë‘� Smalltalk로 프로그램ì�„ 짜는ë�° ê¼ í•„ìš”í•œ ì—í• ì�„ 수행합니다.
ì�´ì œ ì�´ 마디[節]ì—�서는 Smalltalkì—�는 ì–´ë–¤ 창들ì�´ 있으며 ì�´ë“¤ì�´ 대충 ì–´
떤 �� 하는지를 알아봄으로�, Smalltalk 환경� 특징들� 여러분� 간단
히 알아볼 수 있ë�„ë¡� í•˜ê² ìŠµë‹ˆë‹¤. ê°� 창들ì—� 대해서 나중ì—� í•„ìš”í• ë•Œ 좀 ë�”
ìž�세하게 ì„¤ëª…í• ê²ƒìž…ë‹ˆë‹¤. 여기서는 그냥 ì�´ëŸ¬ì�´ëŸ¬í•œ ì°½ì�´ 있으며, 대충 ì�´
ë ‡ê²Œ ìƒ�겼구나 하는 ì •ë�„ë§Œ ì�´í•´í•˜ë�„ë¡� 합시다.
ì•„ì§�까지 ìž�료실ì—�서 Dolphin Smalltalk를 내리받아 설치하지 ì•Šìœ¼ì‹ ë¶„ì�´ë�¼
면 지금부터는 조금 용량� 많기는 하��� Smalltalk 환경� 내리받아서
공부를 계ì†�하시ë�¼ê³ 권합니다. 세ìƒ�ì�€ 멀티미디어화 ë�˜ì–´ê°€ê³ 있지만 ì•„ì§�
ë�„ 우리ì�˜ ì •ê²¨ìš´ í†µì‹ í™˜ê²½ì�€ 파란 바탕ì—� í�°ìƒ‰ 글ìž�ë§Œ 나타낼 수 있기 때
문ì—�, 그림ì�„ ê³�들ì�´ê³ ì‹¶ì�€ í•„ìž�ì�˜ ê°„ì ˆí•œ 마ì�Œì�´ ë°˜ì˜�ë�˜ì§€ 못하기 때문입
니다. :)
1.5.1. 알림�
-------------
Smalltalk 환경�서 가장 중요한 창� "알림�"(transcript)입니다. �래
'transcript'ë�¼ëŠ” 낱ë§�ì�˜ 뜻ì�€ 'ë² ê»´ë‚¸ 것, 사본, 등본'ì�¸ë�°, Smalltalk를
깊� 공부하지 못한 필�로�는 왜 transcript�는 낱�� � 창� 붙게 �
었는지를 ì�´í•´í•˜ê¸°ê°€ ì–´ë µìŠµë‹ˆë‹¤. 아무래ë�„ Smalltalk 시스템ì�˜ ìƒ�태가 ì�´
창� 그대로 반��기 때문� 아닌가 ��합니다.
여하튼 � 창� Smalltalk 환경�서 가장 중요한 창입니다. � 창� 열림으
로ì�¨ 바로 Smalltalk 환경ì�´ 시작ë�˜ëŠ” 것ì�´ê³ , ì�´ ì°½ì�´ 닫힘으로ì�¨
Smalltalkê°€ 종료ë�˜ëŠ” 것입니다. 즉 ì�´ ì°½ì�€ Smalltalk 환경과 ë�™ê³ ë�™ë�½í•œë‹¤
ê³ í•´ë�„ 과언ì�´ ì•„ë‹� ì •ë�„로, Smalltalk 환경ì�´ 실행ë�˜ì–´ 있다면 ì–¸ì œë“ ì§€
ì—´ë ¤ìžˆëŠ” 창입니다.
ì�´ ì°½ì�€ ë’¤ì—�서 ì„¤ëª…í• 'ì�¼í„°'(workspace)와 비슷한 기능ì�„ 합니다. 그러나
알림�� '�터'와 구별�는 가장 � 특성�, Smalltalk 환경�서 사용��
게 ì•Œë ¤ì•¼ í• ê²ƒì�´ 있으면 ì–¸ì œë“ ì§€ ì�´ ì°½ì—� 표시ë�œë‹¤ëŠ” 것입니다.
프로그램� 실행하는� 중대한 잘못� �겼다거나, 새로운 꾸러미를 불러왔
다거나 ì�´ë¯¸ 있ë�˜ 꾸러미나 ê°�체를 지울 때 ë¬¸ì œê°€ 있었다는 등 ì�´ 알림íŒ�ì—�
는 Smalltalk 환경ì�´ 우리ì—�게 ì•Œë ¤ì•¼ í• ì—¬ëŸ¬ 가지 사í•들ì�´ 기ë¡�ë�©ë‹ˆë‹¤.
ë¬¼ë¡ ì—¬ëŸ¬ë¶„ì�´ ì�´ 알림íŒ�ì—� 지시를 ë³´ë‚´ì–´ 여러분만ì�˜ 글줄ì�„ ì°�게 í• ìˆ˜ë�„
있습니다만, 그것ì�€ 조금 뒤로 ë¯¸ë£¨ê² ìŠµë‹ˆë‹¤.
Smalltalk 환경ì�„ ë��낼 때 File > Exit Dolphin ëª…ë ¹ì�„ 내리는 ëŒ€ì‹ ì•Œë¦¼íŒ�
� 닫게 �면 Smalltalk 환경� �낼 수 있습니다.
1.5.2. �터
-----------
�터(workspace)란 Smalltalk 환경�서 알림� 다�으로 중요한 창입니다.
여러분� �터�서 무엇� 합니까? :) �� 하지요? �� 성격� 따� 좀 다
ë¥´ê² ì§€ë§Œ, 몸ì�„ ë§Žì�´ 움ì§�여야 하는 ì�¼ì�´ë�¼ë©´, ë•€ì�„ í�˜ë¦¬ë©´ì„œ 물건ì�„ 나르기
ë�„ í•˜ê³ ë›°ê¸°ë�„ 하면서 ì�´ ì�¼í„°ë¥¼ 누빕니다. 머리를 쓰는 ì�¼ì�´ë�¼ë©´ ì�´ ì�¼í„°
ì—�서 글ì�„ 쓰기ë�„ í•˜ê³ ì§€ìš°ê¸°ë�„ 합니다. 여러분ì�´ 회사ì�˜ 사장ì�´ë�¼ë©´ ì�¼í„°
ì—�서 아랫사람들ì—�게 여러 가지 지시를 내립니다. ê·¸ë¦¬ê³ ì§€ì‹œë¥¼ ë°›ì�€ 사람
들ì�€ ìž�ì‹ ì�´ 처리한 ì�¼ì�˜ 결과를 사장ì—�게 ë�˜ë�Œë ¤ ë³´ë‚´ì¤�니다. ì�´ë ‡ë“¯ ì�¼í„°
는 분주한 곳입니다.
Smalltalkì�˜ ì�¼í„° ë˜�한 마찬가지입니다. 여기서 여러분ì�€ 기본ì �으로 글ì�„
쓸 수 있습니다. ì�´ 글ì�´ Smalltalkì—�게 내리는 ëª…ë ¹ì�´ ë� 수ë�„ ìžˆê³ , ëª…ë ¹
ì�„ 설명하는 í’€ì�´ê¸€ì�´ ë� 수ë�„ 있으며, 그냥 아무런 관계없는 글ì�´ ë� 수ë�„
있습니다.
ì�¼í„°ì—�서 여러분ì�€ Smalltalkì—�서 ëª…ë ¹ì�„ ë‚´ë¦¬ê³ ê·¸ 결과를 시험합니다. ê·¸
ë¦¬ê³ í”„ë¡œê·¸ëž¨ì�˜ ì–´ë–¤ 부분ì�„ 만들기 ì „ì—� 여기서 기본ì �으로 여러 가지 명
ë ¹ì�„ ë‚´ë ¤ë´„ìœ¼ë¡œì�¨ 논리를 세워 나갈 수ë�„ 있습니다.
새로운 �터를 만들기 위해서는 File > New 메뉴를 사용하거나, �구 모��
서 "í�° 종ì�´ê°€ ê·¸ë ¤ì§„ 그림"ì�„ 누르면 ë�©ë‹ˆë‹¤. 알림íŒ�ì�´ 오ì§� 하나밖ì—� 존재
í• ìˆ˜ 없는ë�° 비해, ì�¼í„°ëŠ” 여러분ì�´ 필요한 수만í�¼ ë§Žì�´ 만들 수 있습니다.
ê·¸ë¦¬ê³ ê°�ê°�ì�˜ ì�¼í„°ì—� 기ë¡�ë�œ 글들ì�„ 따로따로 ì €ìž¥í•˜ê±°ë‚˜ 불러올 수 있습니
다. 그러므로 ì–´ë–¤ ëª…ë ¹ì�„ 실행한 ë’¤ì—� 나타나는 여러 가지 결과와 ë�”불어
여러분ì�´ 내린 ëª…ë ¹ì�„ 따로 하나ì�˜ 파ì�¼ë¡œ ì €ìž¥í•´ 둘 수 있다는 ë§�입니다.
앞서 우리는 알림�� 지시를 내림으로� 우리가 �하는 글줄� �� 수 있
ë‹¤ê³ í–ˆìŠµë‹ˆë‹¤. 그럼 다ì�Œê³¼ ê°™ì�´ ëª…ë ¹í•´ ë³´ì‹ì‹œì˜¤. ê¸€ì‡ ë¥¼ 사용해
서 아래 ëª…ë ¹ì�„ 실행하ì‹ì‹œì˜¤. (Smalltalk ëª…ë ¹ì�„ 실행하는 방법ì—� ì–´ë ¤ì›€ì�„
겪는 분��면 "1.3" 마디를 참조하시기 바�니다.)
Transcript show: '안녕하세요?'.
☞ 안녕하세요? "알림�� � 내용� 표시�다."
---<ìž ê¹�!>----------------------------------------------------------
ë² ë�¼ê¸°ëŠ” 하지 맙시다!
앞으로 ì�´ 글ì�„ 진행하면서 무수히 ë§Žì�€ Smalltalkì�˜ ëª…ë ¹ì�´ 소개ë� 것입니
다. 그래서 ì €ëŠ” 여러분ì—�게 ë¶€íƒ�ì�„ 드릴까 합니다.
ì�´ 글ì—�서 ì œê³µë�˜ëŠ” Smalltalk ëª…ë ¹ì�„ 복사하여 ì�¼í„°ì—� 붙여 넣어서 실행하
시지 ë§�았으면 하는 것ì�´ ì œ ë¶€íƒ�입니다.
좀 번거ë¡ë�”ë�¼ë�„ 지금 여러분ì�´ ì�½ê³ 있는 ëª…ë ¹ì�„ 그대로 ì�¼í„°ì—� ê¸€ì‡ íŒ�으로
ì³� ë„£ê³ ì‹¤í–‰í•˜ì—¬ 결과를 관찰하는 것ì�´ 훨씬 좋습니다. 단순히 복사해서 ë¶™
ì—¬ 넣는 것 보다 ì‹¤ì œë¡œ ê¸€ì‡ íŒ�ì—�서 ëª…ë ¹ì�„ 치게 ë�˜ë©´, ì�´ 글ì—�서 ì�¼ë‹¨ ëª…ë ¹
ì�„ ì�½ì–´ì„œ 머리ì—� 기억ë�˜ê²Œ ë�˜ê³ , 기억ë�œ 것ì�„ ê¸€ì‡ íŒ�으로 치면서 ì�¼í„°ì—� 나
타난 ëª…ë ¹ì�„ 보게 ë�˜ê³ , ëª…ë ¹ì�„ 실행하면서 세 번째로 ëª…ë ¹ì�„ 보게 ë�©ë‹ˆë‹¤.
그러나 ëª…ë ¹ì�„ ë³µì‚¬í•˜ê³ ë¶™ì�´ëŠ” 것ì�€ ì „í˜€ ì�´ëŸ¬í•œ 효과를 ë³¼ 수가 없습니다.
글ì�„ 어떻게 ì�½ê³ 어떻게 실행하는지는 ì „ì �으로 여러분ì—�게 ë‹¬ë ¤ìžˆìŠµë‹ˆë‹¤.
그러나 좀 ë�” 효과ì �ì�¸ 공부를 위해서는 ëª¨ë“ Smalltalk ëª…ë ¹ì�„ 여러분ì�´ 스
스로 ì³� 넣으며 실행해야 합니다. 맹목ì �으로 ëª…ë ¹ì�„ ì³� 넣는 것ì�´ 아니ë�¼,
ë�„대체 ì�´ ëª…ë ¹ì�´ ì–´ë–¤ ì�˜ë¯¸ì�¸ì§€ë¥¼ ìƒ�ê°�하면서 ìž…ë ¥í•˜ë©´ Smalltalk 공부는
�� 외로 매우 쉬워질 것입니다. �는 필�가 처� "Smalltalk Tutorial"�
ê³µë¶€í• ë•Œ ì§�ì ‘ 경험한 것ì�´ë¯€ë¡œ, 한 번 믿어보셔ë�„ 좋ì�„ 것입니다.
----------------------------------------------------------
어떻습니까? 방금 실행한 ëª…ë ¹ì�˜ 결과가 그대로 알림íŒ�ì—� 나타났습니다. ì�´
ë ‡ê²Œ ì�¼í„°ì—�서 여러분ì�€ Smalltalkì—�게 ëª…ë ¹ì�„ 내릴 수 있습니다. ë˜�한 다ì�Œ
ê³¼ ê°™ì�€ ëª…ë ¹ì�„ 사용하여 ì�¼í„°ì—� ëª…ë ¹ì�˜ 수행 결과를 ì¶œë ¥í• ìˆ˜ë�„ 있습니다.
3 + 4. ☞ 7
ì�´ì²˜ëŸ¼ ì�¼í„°ëŠ” 여러분ì�˜ Smalltalk 프로그래ë°�ì—� 있어서 가장 ìž�주 ì ‘í•˜ê²Œ
�는 창�므로, 그 사용 방법� 확실히 �혀�는 것� 좋� 것입니다.
ì°¸ê³ ë¡œ ì�¼í„°ì—�서 í• ìˆ˜ 있는 대부분ì�˜ ì�¼ì�„ 알림íŒ�ì—�서ë�„ í• ìˆ˜ 있습니다.
ê·¸ë ‡ì§€ë§Œ 관례ì �으로 Smalltalkì—�서 대부분ì�˜ 작업ì�€ 알림íŒ�ì�´ 아닌 ì�¼í„°ì—�
서 수행합니다. 알림íŒ�ì—�는 주로 알림 사í•ì�´ 기ë¡�ë�˜ë�„ë¡� í•˜ê³ , Smalltalk
환경 ì „ì²´ì—� ì˜�í–¥ì�„ 줄 ëª…ë ¹ì�´ 있다면 ì�´ '알림íŒ�'ì—�서 실행하는 것ì�´ 관례
로 �어 있습니다.
1.5.3. �체 �색기
------------------
ê°�ì²´ íƒ�색기(object inspector)는 ëª…ë ¹ì�„ ì‹¤í–‰í• ë–„ 나 글
ì‡ ëŒ€ì‹ ê¸€ì‡ ë¥¼ ì‚¬ìš©í• ë•Œ 나타나는 창입니다. ì�´ ì°½ì�€ 기본ì �으로
복잡한 구조를 ê°€ì§€ê³ ìžˆëŠ” ê°�ì²´ì�˜ ë‚´ìš©ì�„ 좀 ë�” 잘게 쪼개어 íƒ�색하기 편리
하�� 만들어진 �구입니다. 앞�서 우리가 �색기를 사용한 예를 ��해
ë³´ì‹ì‹œì˜¤. 아래ì�˜ ëª…ë ¹ì�€ Smalltalk 환경ì—� 들어 있는 ëª¨ë“ ê°ˆëž˜(class)들ì�„
가나다 순서로 늘어놓ì�€ 모듬ì�„ ë�˜ë�Œë¦¬ëŠ” ëª…ë ¹ìž…ë‹ˆë‹¤.
Class allClasses asSortedCollection ☞ "�체 �색기 열림"
위ì�˜ ëª…ë ¹ì�„ ê¸€ì‡ ë¡œ 실행해 ë³´ë©´ "Inspecting a SortedCollection"
ì�´ë�¼ëŠ” ì œëª©ì�´ ë¶™ì�€ ì°½ì�´ 열릴 것입니다. 위ì�˜ ëª…ë ¹ì�„ 실행하게 ë�˜ë©´ 500 ê°œ
가 넘는 �소들� 들어 있는 모듬� 결과값으로 �아오게 �는� �를 좀 �
쉽게 �색하기 위해서는 �체 �색기를 사용하는 것� 편리합니다.
�체 �색기는 � 부분으로 �루어지는�, 왼쪽�는 그 �체� �해있는 부
ë¶„ 부분들ì�˜ ì�´ë¦„ì�´ 표시ë�˜ê³ , 오른쪽ì—�는 현재 ë�‹ì�´ë�œ 부분ì�˜ ê°’ì�´ 표시ë�©
니다. 맨 위ì�˜ "self"는 íƒ�ìƒ‰í•˜ê³ ìžˆëŠ” ê°�ì²´ ìž�ì‹ ì�„ 나타냅니다.
ê°�ì²´ íƒ�색기는 복잡한 구조ì�˜ ê°�체를 효율ì �으로 들여다보는ë�° 매우 í�° 몫ì�„
í•˜ê³ ìžˆìŠµë‹ˆë‹¤.
1.5.4. 갈래씨줄 �색기
----------------------
�, 여러분� 지금 어디� 있�지 Tools > Class Hierarchy Browser 메뉴를
실행시키거나 ê¸€ì‡ íŒ�ì—�서 를 누르면 '갈래씨줄 íƒ�색기'Class
Hierarchy Browser)를 불러낼 수 있습니다. 갈래씨줄 �색기를 줄여서 '갈래
íƒ�색기'ë�¼ê³ ë�„ 부릅니다.
갈래는 홀로 ë–¨ì–´ì ¸ì„œ 있는 것ì�´ 아니ë�¼ 다른 갈래와 관계를 ë§ºê³ ìžˆëŠ”ë�°,
� 갈래씨줄 �색기는 �러한 갈래들� 씨줄(hierarchy)� 짚어가며 갈래들
ì�„ íƒ�ìƒ‰í• ë•Œ 사용하는 ë�„구입니다. 모ë‘� í�¬ê²Œ ë‚´ 부분으로 ì�´ë£¨ì–´ì§„ 갈래
íƒ�색기가 매우 복잡해 ë³´ì�´ê² 지만, ì�´ ì°½ì—� ì�µìˆ™í•´ì§ˆ 때쯤ì�´ë©´ 여러분ì�€
Smalltalkì�˜ ì ˆë°˜ ì�´ìƒ�ì�„ 공부한 ì…ˆì�´ ë�©ë‹ˆë‹¤.
Smalltalkì—�서는 ëª¨ë“ ê²ƒì�´ ê°�체입니다. 그러므로 프로그래ë°�ì�„ í• ë•Œì—�ë�„
�러한 �체를 사용하거나 아니면 새로 만들어야 합니다. � �� � '갈래
íƒ�색기'ì—�서 í• ìˆ˜ 있기 때문ì—�, 'ì�¼í„°'와 ë�”불어 프로그래ë°�ì�„ í• ë•Œ 가장
�주 사용�는 �구�기� 합니다.
1.5.5. 길수 �색기
------------------
우리가 Smalltalkì—�게 ì–´ë–¤ ëª…ë ¹ì�„ 내리면 Smalltalk는 길수(method)를 ë’¤ì ¸
서 ì�´ ëª…ë ¹ì�„ 어떻게 ì‹¤í–‰í•´ì•¼í• ì§€ë¥¼ 알아냅니다. 길수 íƒ�색기는 ì�´ëŸ¬í•œ 길
수들ì�„ 따로 모아서 íƒ�ìƒ‰í• ë•Œ ì“°ì�´ëŠ” ë�„구입니다. 다ì�Œì�˜ ëª…ë ¹ì�€ 길수 중ì—�
서 'Dolphin'ì�´ë�¼ëŠ” 낱ë§�ì�´ 들어간 것ì�„ 지금 ì“°ê³ ìžˆëŠ” 본(image)ì—�서 죄다
찾아내는 ëª…ë ¹ìž…ë‹ˆë‹¤. 약 3M ì�´ìƒ� ë�˜ëŠ” 바탕글(source code)ì—�서 글귀를 ì°¾
는 것ì�´ë¯€ë¡œ 몇 ì´ˆ ì •ë�„ 시간ì�´ 걸립니다.
SmalltalkSystem current browseContainingSource: 'Dolphin'
☞ "길수 �색기 열림"
��보다 많� 길수� "Dolphin"��는 글귀가 �함�어있습니다. � 길수
íƒ�색기는 í�¬ê²Œ ë‘� 부분으로 ë‚˜ëˆ„ì–´ì ¸ 있습니다. 위쪽 ì°½ì—�는 길수 ì�´ë¦„들ì�´
표시ë�˜ì–´ ìžˆê³ ê°�ê°�ì�˜ 길수를 ë�‹ì�´í• 수 있ë�„ë¡� ë�˜ì–´ìžˆìŠµë‹ˆë‹¤. ê·¸ë¦¬ê³ ì•„ëž˜
쪽 창�는 위쪽 창�서 ���어있는 길수� 바탕글� 표시�니다. 길수 �
색기는 앞서 �한 것과 같� 주로 여러 갈래(class)�서 조건� 맞는 길수를
뽑아내어 ë‚´ìš©ì�„ ì‚´íŽ´ë³´ê³ ìž� í• ë•Œ 사용합니다.
1.5.6. 꾸러미 �색기
--------------------
Smalltalk 환경ì�˜ Tools > Package Browser 메뉴를 ì„ íƒ�하면 꾸러미 íƒ�색기
를 열 수 있습니다. 꾸러미(package)�는 Smalltalk� 갈래, �체, ��
(resource) 등ì�´ 함께 ê¾¸ë ¤ì ¸ì„œ 들어있습니다. 주로 꾸러미는 하나ì�˜ 커다란
프로그램ì�„ 만들 때, ê·¸ 프로그램과 관계ë�œ 여러 가지 ê°�체들ì�„ ë„£ì–´ë†“ê³ ê´€
리하기 위해서 사용�니다. 꾸러미 �색기는 �러한 꾸러미를 새로 만들거나
ì�´ë¯¸ 있ë�˜ 꾸러미를 들여오거나, 지우거나 ê³ ì¹˜ëŠ” ì�¼ì�„ 합니다.
꾸러미 �색기는 �게 세 부분으로 �어있습니다. 왼쪽� 세로로 길게 �어
있는 창� 현재 Dolphin Smalltalk 환경� 설치�어있는 꾸러미들� 늘어놓
� 것입니다. 오른쪽 윗부분� 현재 꾸러미� 들어있는 것들� 살펴보기 위
한 곳으로�, 갈래, 길수, 넓� 꼬리표(global variables), �� 등� ��
따로따로 ë³¼ 수 있는 ê³ ë¦„(tab)ì�´ ë‹¬ë ¤ìžˆìŠµë‹ˆë‹¤. 오른쪽 아랫부분ì�€ 위ì—�서
ë�‹ì�´ë�œ ë‚´ìš©ì�„ ì‹¤ì œë¡œ 보여주는 곳입니다. 갈래가 ë�‹ì�´ë�˜ì–´ìžˆë‹¤ë©´ 갈래꼴
(class definition)�, 길수가 ���어 있다면 바탕글 등� 보여�니다.
꾸러미 íƒ�색기는 Smalltalk 환경ì—�서 움ì§�ì�´ëŠ” ëª¨ë“ ê°�체를 관리하는 매우
중요한 �구입니다.
1.5.7. 창맵씨
-------------
창맵씨(View Composer)는 사용ìž� ì ‘ì†� 환경(User Interface)를 만드는 ë�„구
입니다. Tools > View Composer 메뉴를 ì„ íƒ�하면 ì�´ ì°½ì�„ ì—´ 수 있습니다.
여기서 여러분� 창(window)�나 대화 ��(Dialog box)를 만들어서 프로그
램ì�„ 사용하는 최종사용ìž�ê°€ ìž�료를 ìž…ë ¥í• ìˆ˜ 있ë�„ë¡� í•´ ì¤�니다.
ë„“ì�€ 부분ì�´ ì‹¤ì œë¡œ ì°½ì�„ ì„¤ê³„í• ë•Œ 사용하는 부분ì�´ê³ , 아래ì—� 위치한 세
ê°œì�˜ ì°½ì�€ ê°�ê°� 현재 ì°½ì�˜ 뼈대, 현재 ì„ íƒ�ë�œ ê°�ì²´ê°€ 가지는 ê¼´(aspect), ê·¸
ë¦¬ê³ ë°”ë¡œ 왼쪽ì—� ë�‹ì�´ë�˜ì–´ìžˆëŠ” ê¼´ì�´ ê°–ê³ ìžˆëŠ” ê°’ì�„ 표시하는 부분입니다.
창맵씨ì—�는 '연모통'(tool box)ë�¼ê³ 하는 딸림창ì�´ ë– ìžˆìŠµë‹ˆë‹¤. ì�´ ì°½ì—�는
창� 만들 때 필요한 여러 가지 부품 ��� 들어있습니다. 글씨 꼬리표
(label), ìž…ë ¥ ìƒ�ìž�(edit box), 단추(push button)는 ë¬¼ë¡ ì�´ë¯¸ 만들어진 ì°½
� 여기� 표시�니다.
Delphi나 Visual Basic�서는 창� 설계하는 것� �당히 많� 비중� 둡니
다. ë¬¼ë¡ Smalltalkì—�서ë�„ ì°½ 만들기는 매우 중요한 위치를 차지하지만, 기
본ì �으로 ì°½ì�„ 설계하기 ì „ì—� ë¨¼ì € ê°�체를 만들어야 합니다. ë”°ë�¼ì„œ 앞으로
창맵씨를 사용하기까지 참으로 긴 ì—¬ì •ì�´ 여러분ì�„ ê¸°ë‹¤ë¦¬ê³ ìžˆì�„ 것입니다.
1.5.8. �� �색기
------------------
Tools > Resource Browser를 ì„ íƒ�하면 ìž�ì›� íƒ�색기를 ì—´ 수 있습니다. 앞서
창맵씨를 설명하면서 '연모통'ì—� 대해서 ì�´ì•¼ê¸°í•œ ì �ì�´ 있습니다. 연모통ì�€
ì°½ì�„ 만들 때 쓸 수 있는 여러 가지 부품 ìž�ì›�들ì�´ ë“¤ì–´ìžˆë‹¤ê³ í–ˆëŠ”ë�°, ìž�ì›�
�색기는 �러한 ��� 관리하는 �� 합니다. 새로운 ��� 만들거나 �
미 있는 ìž�ì›�ì�˜ ì�´ë¦„ì�„ 바꾸기ë�„ í•˜ê³ , ìž�ì›�ì�´ ì—°ê²°ë�œ 갈래ì�˜ ìƒ�태를 바꾸기
ë�„ 합니다. 창맵씨와 ë�”불어 ìž�ì›� íƒ�색기ë�„ 사용ìž� ì ‘ì†� 환경ì�„ 만드는ë�° 매
ìš° 중요한 ì—í• ì�„ ìˆ˜í–‰í•˜ê³ ìžˆìŠµë‹ˆë‹¤.
1.5.9. 발�취 창과 벌래잡개
---------------------------
사람ì�€ 누구나 실수를 í•˜ê¸°ë§ˆë ¨ìž…ë‹ˆë‹¤. ì €ë�„ ê·¸ë ‡ê³ ì—¬ëŸ¬ë¶„ë�„ 그럴 ê²�니다.
Smalltalkì—�게 ëª…ë ¹ì�„ 내릴 때ì—�ë�„ 여러분ì�´ë‚˜ ì €ë‚˜ 실수를 í• ë•Œê°€ 있습니
다. "발�취 창"(walkback window)� Smalltalk 프로그램� 실행�는 �태�
서 ì–´ë–¤ 중대한 ë¬¸ì œê°€ ë°œìƒ�í–ˆì�„ 때, 지금까지 ì–´ë–¤ 길수들ì�´ 어떻게 실행ë�˜
어왔는지ì�˜ ìž�취를 í‘œì‹œí•˜ê³ , 사용ìž�ê°€ 알맞ì�€ 조치를 ì·¨í• ìˆ˜ 있ë�„ë¡� ë�•는
창입니다.
아래ì�˜ ëª…ë ¹ì�„ ê¸€ì‡ ë¡œ 실행시켜 봅시다.
5 hello ☞ "발�취 창 열림"
위 ëª…ë ¹ì�„ 실행하ìž�마ìž� "SmallInteger does not understand #hello"ë�¼ëŠ” ì œ
목ì�´ ë¶™ì�€ ë°œìž�ì·¨ ì°½ì�´ 표시ë� 것입니다. ì�´ ë‚´ìš©ì�¸ì¦‰ìЍ "SmallInteger는
helloë�¼ëŠ” 지시를 알아듣지 못했다"는 것입니다. 즉 "5 hello"ë�¼ëŠ” ëª…ë ¹ì�„
Smalltalkê°€(ì •í™•ížˆëŠ” 숫ìž� '5'ê°€) 알아듣지 못했다는 ë§�입니다.
ê·¸ë¦¬ê³ ì•„ëž˜ì—� 나타난 ìž‘ì�€ ìƒ�ìž� 안ì—� 여태까지 ëª…ë ¹ì�„ 실행한 ë°œìž�취를 표
시합니다.
---------------------------------------
SmallInteger(Object)>>doesNotUnderstand:
UndefinedObject>>{unbound}doIt
CompiledExpression>>value:
SmalltalkWorkspace>>evaluateRange:ifFail:
SmalltalkWorkspace>>evaluateItIfFail:
SmalltalkWorkspace>>evaluateIt
....(하략)
---------------------------------------
여러분 대부분ì�´ ì•„ì§� 위ì�˜ ë‚´ìš©ì�´ 무엇ì�„ ì�˜ë¯¸í•˜ëŠ”ì§€ ì •í™•í•˜ê²Œ ì�´í•´í•˜ì§€ 못
í–ˆì�„ 것입니다. 그러나 Smalltalkì—� ì�µìˆ™í•œ 사람들ì�€ 위ì�˜ ì •ë³´ë¥¼ ë³´ê³ , 대
ì²´ ì–´ë–¤ 경로를 ë”°ë�¼ì„œ ëª…ë ¹ì�´ 실행ë�˜ì—ˆìœ¼ë©° 어디서 ë¬¸ì œê°€ ë°œìƒ�헀는지를 ì¶”
ì¸¡í• ìˆ˜ 있게 ë�©ë‹ˆë‹¤. ë¬¼ë¡ ëŒ€ë¶€ë¶„ì�˜ 경우는 ë°œìž�ì·¨ ì°½ì�˜ ì œëª©ë§Œ ë³´ê³ ì„œë�„
ë¬¸ì œì�˜ ì›�ì�¸ì�„ íŒŒì•…í• ìˆ˜ 있습니다. 지금과 ê°™ì�€ 경우ì—�는 우리가 내린 ëª…ë ¹
ì�„ 알아듣지 못했다는 것ì�´ ë¬¸ì œì�´ê² 지요.
� 발�취 창� 아래쪽� 네 개� 단추가 있습니다. � 중�서 �
ë¬¸ì œë¥¼ ë¬´ì‹œí•˜ê³ ê³„ì†� 프로그램ì�„ 실행시킬 때 ì“°ê³ , 는 지금 실
행시킨 ëª…ë ¹ 실행ì�„ ë��ë‚´ë�¼ëŠ” 것ì�´ê³ , 마지막으로 ì�€ 현재 실행ë�˜ê³
있는 ëª…ë ¹ì—� 대한 ì •ë³´ë¥¼ 깡그리 ì§€ì›Œë²„ë¦¬ê³ ëª…ë ¹ 실행ì�„ ì¤‘ë‹¨í• ë•Œ 사용합
니다.
여기서 단추를 누르면 "ë²Œë ˆìž¡ê°œ"(debugger) ì°½ì�´ 나옵니다. ì�´ ì°½
ì�€ 여러 ê°œì�˜ ëª…ë ¹ì�„ 하나씩 하나씩 실행하면서 ëª…ë ¹ì�„ ì‹¤í–‰í• ë•Œ 마다 바뀌
는 여러 ê°�ì²´ì�˜ ìƒ�태를 관찰하면서 ë¬¸ì œì�˜ ì›�ì�¸ì�„ íƒ�ìƒ‰í• ë•Œ 사용하는 ë�„구
입니다. 쉽게 ë§�해서, íƒ�ì •ë“¤ì�´ 사건ì�´ ì�¼ì–´ë‚œ 것ì�„ ë�˜ì§šìœ¼ë©´ì„œ ì›�ì�¸ì�„ 찾는
것과 ë¹„ìŠ·í•˜ë‹¤ê³ í•˜ê² ìŠµë‹ˆë‹¤. ë²Œë ˆìž¡ê°œ ì°½ì�€ ê·¸ 구조와 ë�™ìž‘ì�´ 매우 복잡하
게 ì�´ë£¨ì–´ì ¸ 있어서, Smalltalkì—�서 ëª…ë ¹ì�´ ì–´ë–¤ ë°©ì‹�으로 실행ë�˜ëŠ”ì§€ë¥¼ 알
아야만 ì œëŒ€ë¡œ í™œìš©í• ìˆ˜ 있는 ë�„구입니다. 그러므로 지금ì�€ 단순히 ë²Œë ˆìž¡
개가 ì�´ëŸ° 것ì�´êµ¬ë‚˜ ì •ë�„로만 ì�´í•´í•´ ë‘�ë©´ ë� 것입니다. 나중ì—� ë²Œë ˆìž¡ê°œë¥¼
어떻게, ì–¸ì œ, 왜 사용해야 하는지ì—� 대해서 ìž�세하게 ì�´ì•¼ê¸°í• 기회가 있ì�„
것입니다.
---<ìž ê¹�!>----------------------------------------------------------
다른 Smalltalk�서는...
기본ì �으로 ëª¨ë“ Smalltalk 환경ì�€ 알림íŒ�ê³¼ ì�¼í„°, 갈래씨줄 íƒ�색기, ê°�ì²´
íƒ�색기, ë°œìž�ì·¨ ì°½, ë²Œë ˆìž¡ê°œë¥¼ ê°€ì§€ê³ ìžˆìŠµë‹ˆë‹¤. ê·¸ë¦¬ê³ ì—¬ê¸°ì—� ë�”해서 ê°�
�� Smalltalk마다 조금씩 다른 기능� 가지는 창� 추가�어 있습니다.
Dolphin� 경우 꾸러미 �색기나 창맵씨, �� �색기가 있으며, Smalltalk
Expressë�¼ëŠ” Smalltalk 환경ì—�서는 Disk Browserê°€ ìžˆë‹¤ê³ í•©ë‹ˆë‹¤.
----------------------------------------------------------
---<ìž ê¹�!>----------------------------------------------------------
Windows와 ê°™ì�´ 그림 위주ì�˜ 사용ìž� 환경(GUI)ì—�서는 마우스가 필수ì �ì�¸ ìž…
ë ¥ìž¥ì¹˜ë¡œ ìƒ�ê°�ë�˜ê³ 있습니다. ë¬¼ë¡ ì�´ê²ƒì�€ 맞는 ë§�입니다. 그러나 마우스가
ì–¸ì œë‚˜ 편한 것만ì�€ 아닙니다. ì–´ë–¤ 때는 ê¸€ì‡ íŒ�ì�´ 마우스보다 íŽ¸í• ê²½ìš°ê°€
있으니까요.
Smalltalk로 작업ì�„ 하다보면 여러 ê°œì�˜ ì°½ì�´ ì—´ë ¤ìžˆê³ ê°�ê°�ì�˜ ì°½ì�„ 왔다갔
다해야 하는 ì�¼ì�´ 잦습니다. ì�´ëŸ´ 때 ì�¼ì�¼ì�´ 작업 표시줄ì—� 있는 ì°½ ì œëª©ì�„
눌러서 ì�´ë�™í•˜ëŠ” 것보다는 ì�´ë‚˜ ê¸€ì‡ ë¥¼ 눌러서 ì�´
ë�™í•˜ëŠ” 것ì�´ 훨씬 편합니다. ê¸€ì‡ ë¥¼ 누른 ìƒ�태ì—�서 ê¸€ì‡ ë¥¼ 눌러
ë³´ì‹ì‹œì˜¤. ê·¸ë¦¬ê³ ê¸€ì‡ ì—�서 ì†�ì�„ 떼어 ë³´ì‹ì‹œì˜¤. 그러면 화면 가운ë�°
ìž‘ì�€ ì°½ì�´ ëœ¨ê³ , 현재 ì—´ë ¤ 있는 창들ì�´ 표시ë� 것입니다. ì�€ 오른
쪽으로 ì�´ë�™í•˜ê³ , ì�€ 왼쪽으로 ì�´ë�™í•©ë‹ˆë‹¤. ì�´ëŠ” Windows
3.1 때부터 있ë�˜ '작업 ì „í™˜'기능ì�¸ë�°, 특히 Smalltalk처럼 ë§Žì�€ ì°½ì�„ 가지
ê³ ìž‘ì—…í•´ì•¼ í• ë•Œ 편리하게 ì‚¬ìš©í• ìˆ˜ 있ì�„ 것입니다.
----------------------------------------------------------
==========================================================
지금까지 우리는 Smalltalk란 대체 ì–´ë–¤ 언어ì�´ê³ , 어떻게 ë�™ìž‘하며, ë˜�한
Smalltalk 환경ì�„ 어떻게 ì„¤ì¹˜í•˜ê³ ìœ ì§€í•˜ëŠ”ì§€ì—� 대해서 알아보았습니다. ê·¸
ë¦¬ê³ Smalltalk 환경ì�´ 어떻게 ìƒ�겼는지ë�„ 둘러보았습니다. ì�´ ê³¼ì •ì—�서 ìš°
리는 몇 가지 짧지만 Smalltalkì�˜ 특징ì�´ 잘 드러난 몇 ê°œì�˜ ëª…ë ¹ë“¤ì�„ 실행
해 봄으로�, Smalltalk 환경� 친해질 수 있�� 했습니다.
ì�´ì œ 여기까지 온 여러분ì�€ Smalltalk 환경ì—� 대해서 ì–´ëŠ� ì •ë�„ ì�µìˆ™í•´ 있어
야 합니다. Smalltalk를 ì‹œìž‘í•˜ê³ ë��ë‚´ê³ , ëª…ë ¹ì�„ 내리는 ì�¼ 등ì�€ Smalltalk
를 공부하면서 가장 기본ì �으로 ì•Œê³ ìžˆì–´ì•¼ í• ì‚¬í•들ì�´ê¸° 때문입니다. ì�´ì œ
ì�´ëŸ° 것들ì�„ 바탕으로 다ì�Œ 가름[ç« ]ì—�서부터는 Smalltalk 언어와 ê°�체지향
ì—� 대해서 본격ì �으로 알아보ë�„ë¡� í•˜ê² ìŠµë‹ˆë‹¤.
계�...










