{{{~cpp Smalltalk 배우기 #3 1998. 11. 25. ê¹€ì°¬í™ mailto:andrea92@hitel.net ====================================== 1. Smalltalkì˜ ì†Œê°œ 1.1. 프로그램과 í”„ë¡œê·¸ëž˜ë° ì–¸ì–´ 1.2. Smalltalkì˜ ì„¤ì¹˜ 1.3. Smalltalk 맛보기 프로그램 →1.4. 몇 가지 준비해야 í• ê²ƒë“¤ 1.4.1. Dolphin Smalltalk 등ë¡í•˜ê¸° 1.4.2. 바탕본 여벌 받기 1.4.3. 글꼴 ì„¤ì •í•˜ê¸° ........ ======================================= 1. Smalltalkì˜ ì†Œê°œ ------------------------------ 1.4. 몇 가지 준비해야 í• ê²ƒë“¤ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 지금까지 우리는 Smalltalk를 ì‹œìž‘í•˜ê³ ë내는 방법과 함께, Smalltalk ëª…ë ¹ ì„ ì‹¤í–‰í•˜ëŠ” ë°©ë²•ì— ëŒ€í•´ì„œ 알아보았습니다. ì´ì œ 여기서는 ì—¬ëŸ¬ë¶„ì´ ì•žìœ¼ë¡œ Smalltalk 공부를 ê³„ì† ì§„í–‰í•˜ê¸° ì „ì— ì¤€ë¹„í•´ì•¼ í• ëª‡ 가지 사í•ì— ëŒ€í•´ì„œ 다루어보ë„ë¡ í•˜ê² ìŠµë‹ˆë‹¤. 1.4.1. Dolphin Smalltalk 등ë¡í•˜ê¸° --------------------------------- ì´ì œê¹Œì§€ 우리는 Dolphin Smalltalk를 사용하면서 ì €ìž¥ ê¸°ëŠ¥ì„ ì‚¬ìš©í• ìˆ˜ ì—† 었습니다. ì´ëŠ” 우리가 ì•„ì§ ë“±ë¡ ì ˆì°¨ë¥¼ 거치지 않았기 때문입니다. Object Arts사(社)는 공개용으로 ì‚¬ìš©í• ìˆ˜ 있는 Dolphin Smalltalk 98 / 1.1íŒì„ ë°°í¬í•˜ë©´ì„œ, 그를 사용하는 ì‚¬ëžŒë“¤ì´ ë¬´ë£Œë¡œ 등ë¡ë²ˆí˜¸ë¥¼ 발급 받아서 사용하 ë„ë¡ í•˜ê³ ìžˆìŠµë‹ˆë‹¤. ì´ëŠ” Dolphin Smalltalk를 사용하는 ì‚¬ëžŒë“¤ì´ ì–´ë–¤ 계 층ì¸ì§€, ê·¸ë¦¬ê³ ì´ ì‚¬ëžŒë“¤ì´ ì–´ë–¤ ê²ƒì„ ì›í•˜ëŠ”ì§€ë¥¼ 조사하기 위한 수단ì´ë¼ ê³ ìƒê°í•©ë‹ˆë‹¤. ë˜í•œ ì‚¬ìš©ìž ì§€ì›ì„ ìœ„í•´ì„œë„ í•„ìš”í•œ 사í•ì´ë¼ê³ ë„ í•©ë‹ˆë‹¤. 등ë¡ì€ 무료입니다. 그러므로 ì¸í„°ë„·ì„ ì‚¬ìš©í• ìˆ˜ 있는 사람ì´ë¼ë©´ 바로 등 ë¡ ì ˆì°¨ë¥¼ ê±°ì¹ ìˆ˜ 있습니다. 앞서 ë§í•œ 대로, 등ë¡ì„ í•˜ë ¤ë©´ Object Arts사ì—서 발급하는 ë“±ë¡ ë²ˆí˜¸ë¥¼ ë°› 아야 합니다. ë“±ë¡ ë²ˆí˜¸ë¥¼ 발급 받는 ë°©ë²•ì€ WWW(World Wide Web) 페ì´ì§€ë¥¼ 사용하는 방법과 ì „ìž ìš°íŽ¸(e-mail)ì„ ì‚¬ìš©í•˜ëŠ” ë°©ë²•ì´ ìžˆìŠµë‹ˆë‹¤. 1) WWW를 사용하는 방법 Dolphin Smalltalk를 시작합니다. 그런 ë‹¤ìŒ File > Exit Dolphin 메뉴를 실 행시켜서 Dolphin Smalltalk를 종료합니다. ì´ ë•Œ 현재 Smalltalkì˜ ìƒí™©ì„ ì €ìž¥í•˜ê² ëŠëƒê³ 묻는ë°, ì´ ë¬¼ìŒì— <예>ë¼ê³ 대답합니다. 그러면 "Locked Image"ë¼ëŠ” ì œëª©ì´ ë¶™ì€ ì°½ì´ ì—´ë¦´ 것입니다. 여기서는 왜 등ë¡ì„ 해야 하는 ì§€, ê·¸ë¦¬ê³ ì–´ë–»ê²Œ 등ë¡ì„ 해야 하는지가 설명ë˜ì–´ìžˆìŠµë‹ˆë‹¤. 여기서 Username ìž…ë ¥ ìƒìžì— ì—¬ëŸ¬ë¶„ì˜ ì˜ë¬¸ ì´ë¦„ì„ ë„£ìŠµë‹ˆë‹¤. 그러면 ì°½ ì•„ ëž˜ì— ìžˆëŠ” ë¼ëŠ” 단추를 누를 수 있게 ë 것입니다. ì¸ í„°ë„·ì— ì—°ê²°ë˜ì–´ìžˆëŠ”ì§€ 확ì¸í•˜ê³ ì´ì–´ì„œ ì´ ë‹¨ì¶”ë¥¼ 누르면 Object Artsì‚¬ì˜ "ë“±ë¡ íŽ˜ì´ì§€"로 ì´ë™í•˜ê²Œ ë 것입니다. ì´ íŽ˜ì´ì§€ì—는 몇 ê°œì˜ ìž…ë ¥ í•ëª©ì´ ìžˆìŠµë‹ˆë‹¤. 간단하게 ì´ í•ëª©ë“¤ì— ëŒ€í•´ì„œ 설명합니다. * Product: ì‚¬ìš©í•˜ê³ ìžˆëŠ” Dolphin Smalltalkì˜ ì¢…ë¥˜. 우리는 1.1íŒì„ ê³ ë¥´ ë©´ ë˜ê² 지요? * First Name: ì—¬ëŸ¬ë¶„ì˜ ì´ë¦„ì„ ë„£ìŠµë‹ˆë‹¤. ì €ì˜ ê²½ìš°ëŠ” ChanHong Kim으로 표 기ë˜ë¯€ë¡œ, First Nameì—는 ChanHongì„ ìž…ë ¥í•˜ë©´ ë©ë‹ˆë‹¤. * Last Name: ì—¬ëŸ¬ë¶„ì˜ ì„±ì”¨ë¥¼ 넣습니다. ì €ì˜ ê²½ìš°ì—는 Kimì´ê² 지요? * Stree Address: ìš°ë¦¬ì˜ ê²½ìš°ì—는 시/êµ°, 구/ìë©´, ë™, 번지로 주소를 ì“°ì§€ ë§Œ 외êµì˜ 경우는 거꾸로 입니다. Street Addressì—는 ì—¬ëŸ¬ë¶„ì˜ ë™ ì´ë¦„ ê³¼ 번지수를 ì”니다. ì €ì˜ ê²½ìš°ë¼ë©´ 2288-3, DaeMyung 3 Dong, Nam-Gu 쯤으로 ìž„ë ¥í•˜ë©´ ë˜ê² 지요? * City: ì—¬ëŸ¬ë¶„ì´ ì‚¬ëŠ” ë„시를 ìž…ë ¥í•©ë‹ˆë‹¤. ì €ëŠ” 대구ëžë‹ˆë‹¤. Taegu. * State: 미êµì˜ 경우는 주를 ìž…ë ¥í•©ë‹ˆë‹¤ë§Œ, 우리는 비워둡니다. * Zip Code: ì—¬ëŸ¬ë¶„ì˜ ìš°íŽ¸ë²ˆí˜¸ë¥¼ 넣습니다. 700-234. * Country: ìš°ë¦¬ì˜ ìžëž‘스런 "Korea"를 ì„ íƒí•©ë‹ˆë‹¤. * E-mail: ì—¬ëŸ¬ë¶„ì˜ ì „ìžìš°íޏ 주소를 ìž…ë ¥í•˜ë©´ ë©ë‹ˆë‹¤. * Where did you hear about this product? Dolphin Smalltalkì— ëŒ€í•´ 처ìŒì–´ë¡œ ì ‘í•œ 매체를 ê³ ë¦…ë‹ˆë‹¤. * Previous experience of Smalltalk? ì´ì „ì— Smalltalk를 사용한 ê²½í—˜ì„ ë¬»ê³ ìžˆìŠµë‹ˆë‹¤. * Intended use of this product? Dolphin Smalltalk를 ì–´ë–¤ 목ì ì— ì‚¬ìš©í• ê²ƒì¸ì§€ë¥¼ 묻습니다. * How many attempts did it take you to download this software?: Dolphin Smalltalk를 몇 ë²ˆë§Œì— ì „ì†¡ë°›ì•˜ëŠ”ì§€ë¥¼ 묻습니다. * Image Code: ì—¬ê¸°ì— "Locked Image" ì°½ì— í‘œì‹œëœ Image code를 넣습니다. * Usrname: "Locked Image" ì°½ì— ìž…ë ¥í•œ ì—¬ëŸ¬ë¶„ì˜ Usernameì„ ìž…ë ¥í•©ë‹ˆë‹¤. (반드시 ì¼ì¹˜í•´ì•¼ 합니다.) 여기까지 í•ëª©ì˜ ìž…ë ¥ì´ ë나면 ì´ì œëŠ” ì•„ëž˜ì˜ ë‹¨ì¶”ë¥¼ 누릅니다. 그러면 Image Code와 ê·¸ì— í•´ë‹¹í•˜ëŠ” Password를 발급 받게 ë©ë‹ˆë‹¤. "Locked Image" ì°½ì— ë°©ê¸ˆ ë°›ì€ Password를 ìž…ë ¥í•˜ë©´ ë“±ë¡ ì ˆì°¨ê°€ ë나게 ë©ë‹ˆë‹¤. 현 재 ì—¬ëŸ¬ë¶„ì´ ì„¤ì¹˜í•œ Smalltalkì— ëŒ€í•´ì„œëŠ” Usernameê³¼ Passwordê°€ 그대로 사 ìš©ë 수 있으므로, 다ìŒë¶€í„°ëŠ” ë“±ë¡ ì ˆì°¨ë¥¼ ê±°ì¹ í•„ìš”ê°€ 없습니다. ë“±ë¡ ì ˆì°¨ë¥¼ 마치면 ì´ì œë¶€í„° ì—¬ëŸ¬ë¶„ì˜ ì»´í“¨í„°ì— ì„¤ì¹˜ë˜ì–´ 있는 Dolphin Smalltalk는 ì €ìž¥ ê¸°ëŠ¥ì„ ì‚¬ìš©í• ìˆ˜ 있게 ì„¤ì •ë©ë‹ˆë‹¤. ì´ì œ ì—¬ëŸ¬ë¶„ì´ Smalltalkì—서 실행한 ëª¨ë“ ê²ƒì„ ì €ìž¥í• ìˆ˜ 있습니다. 2) ì „ìžìš°íŽ¸ì„ ì‚¬ìš©í•˜ëŠ” 방법 WWW를 사용하기 ì–´ë µê±°ë‚˜ ì¸í„°ë„·ì„ 사용하기 ì–´ë ¤ìš´ ë¶„ë“¤ì€ ì „ìžìš°íŽ¸ì„ ì´ìš© 하면 등ë¡ë²ˆí˜¸ë¥¼ 발급 ë°›ì„ ìˆ˜ 있습니다. ìˆ˜ì‹ : support@object-arts.com ì œëª©: password ë‚´ìš©: Usernameê³¼ Image code. ìœ„ì˜ í˜•ì‹ëŒ€ë¡œ 편지를 보내게 ë˜ë©´ ê³§ ì—¬ëŸ¬ë¶„ì˜ ì‚¬ì„œí•¨ìœ¼ë¡œ ë“±ë¡ ë²ˆí˜¸ê°€ ë™ ë´‰ëœ íŽ¸ì§€ê°€ ë„ì°©í• ê²ƒìž…ë‹ˆë‹¤. ì´ë ‡ê²Œ 해서 ë°œê¸‰ë°›ì€ password를 (1)ê³¼ 마찬가지로 ìž…ë ¥í•˜ê²Œ ë˜ë©´ Dolphin Smalltalkê°€ 등ë¡íŒì´ ë©ë‹ˆë‹¤. ì¼ë‹¨ 등ë¡íŒì´ ìƒì„±ë˜ë©´ ëª¨ë“ ê¸°ëŠ¥ì„ ì œí•œ ì—†ì´ ì‚¬ìš©í• ìˆ˜ 있습니다. 1.4.2. 바탕본 여벌 받기 ----------------------- Smalltalk를 ë낼 때 ì—¬ëŸ¬ë¶„ì€ í˜„ìž¬ Smalltalkì˜ ìƒíƒœë¥¼ 그대로 ì €ìž¥í–ˆë‹¤ê°€ ë‚˜ì¤‘ì— Smalltalk를 ì‹¤í–‰í• ë•Œ ë˜‘ê°™ì´ ë³µì›í• 수 있습니다. 예를 들어, 여러 ë¶„ì€ ì €ë²ˆ "1.3" 마디ì—서 Smalltalk로 만들어진 디지털 시계를 본 ì ì´ ìžˆ ì„ ê²ƒìž…ë‹ˆë‹¤. ì´ì œ ì €ìž¥ ê¸°ëŠ¥ì„ ì‚¬ìš©í• ìˆ˜ 있는 ì—¬ëŸ¬ë¶„ì˜ Dolphin Smalltalk ì—서 ì•„ëž˜ì˜ ëª…ë ¹ì„ ê¸€ì‡ ë¥¼ 사용하여 실행해서 다시 한 번 디지털 시계를 표시해 봅시다. <바탕글 1> Smalltalk로 ë§Œë“ ë””ì§€í„¸ 시계 ---------------------------------------------------------- digitalClockProcess := [[ Processor sleep: 1000. (DesktopView current canvas) font: (Font name: 'Arial' pointSize: 36) bold; text: Time now printString at: 10@10; free ] repeat] fork. ---------------------------------------------------------- ì—¬ì „ížˆ í™”ë©´ì— í¼ì§€ë§‰í•œ 디지털 시계가 표시ë˜ê³ ìžˆì„ ê²ƒìž…ë‹ˆë‹¤. ì´ì œ File > Exit Dolphin 메뉴를 사용해서 Dolphin Smalltalk를 ë내봅시다. ì´ ë•Œ Smalltalk는 í˜„ìž¬ì˜ ìƒíƒœë¥¼ ì €ìž¥í•˜ê² ëŠëƒê³ 묻습니다. <예>를 ì„ íƒí•˜ì‹ì‹œì˜¤. 그러면 Smalltalkì˜ ì‹¤í–‰ì´ ë나면서 ì—¬íƒœê» ìž˜ ëŒì•„ê°€ë˜ ì‹œê³„ê°€ 멈춘 ê²ƒì„ ë³¼ 수 있습니다. 시계를 ëŒë¦¬ë˜ Smalltalk í™˜ê²½ì´ ë났기 ë•Œë¬¸ì— ë‹¹ì—°ížˆ 멈 춘 것ì´ì§€ìš”. ì´ ìƒíƒœì—서 시계를 ì§€ìš°ë ¤ë©´ 현재 í™”ë©´ì„ ë‹¤ì‹œ ê·¸ë ¤ì¤˜ì•¼ 합니 다. Windowsì˜ ë°”íƒ• í™”ë©´ì´ í‘œì‹œë˜ì–´ìžˆë‹¤ë©´ ê¸€ì‡ ë¥¼ 눌러서 바탕 í™”ë©´ì„ ë‹¤ì‹œ ê·¸ë ¤ì¤„ 수 있습니다. ì´ì œ 다시 Smalltalk를 실행시켜 봅시다. 어떻게 ë˜ì—ˆìŠµë‹ˆê¹Œ? Smalltalkê°€ 실행ë˜ìžë§ˆìž ì—¬ëŸ¬ë¶„ì´ ìž…ë ¥í•œ <바탕글 1>ê³¼ 함께 디지털 시계가 다시 ì›€ì§ ì´ê¸° 시작했습니다. 즉, ì—¬ëŸ¬ë¶„ì´ ì´ì „ì— Smalltalk를 ë낸 ìƒíƒœë¥¼ 그대로 ìœ ì§€í•˜ê³ ì›€ì§ì´ëŠ” 것입니다. ì‹ ê¸°í•˜ì§€ 않습니까? ì´ì•¼ê¸°ë¥¼ ë” ì§„í–‰í•˜ê¸° ì „ì— ë‹¤ìŒì˜ ëª…ë ¹ì„ ë¡œ 실행시켜서 ëŒì•„가는 시계를 멈춥시다. digitalClockProcess terminate. UserLibrary default invalidate: nil lpRect: nil bErase: true. Smalltalkì—서는 ëª¨ë“ ê²ƒì´ ê°ì²´(object)입니다. 우리는 Smalltalk언어를 ê° ì²´ì§€í–¥ì 언어ë¼ê³ ë§í•©ë‹ˆë‹¤. ë”°ë¼ì„œ Smalltalkì—서 ëª¨ë“ ê²ƒì€ ê°ì²´ë¼ëŠ” 사 ì‹¤ì´ ê·¸ë¦¬ 놀랄만한 ì¼ì€ 아닙니다. 그러나 C++나 Delphi ë˜ëŠ” Visual Basic 등 다른 개발 í™˜ê²½ì„ ì‚¬ìš©í•˜ë˜ ì‚¬ëžŒì´ë¼ë©´ Smalltalkì˜ ê°ì²´ê°€ 살아있다는 ì‚¬ì‹¤ì„ ê°„ê³¼í•˜ê¸° 쉽습니다. 보는 바와 ê°™ì´, Smalltalkì˜ ëª¨ë“ ê°ì²´ëŠ” ì‚´ì•„ 있습니다. ê·¸ë¦¬ê³ ì´ëŠ” Smalltalk를 ì¢…ë£Œí• ë•Œ 그대로 ì €ìž¥ë˜ì—ˆë‹¤ê°€ ë‚˜ì¤‘ì— Smalltalk í™˜ê²½ì´ ì‹œìž‘ë˜ë©´ ì œ ìƒíƒœë¥¼ ìœ ì§€í•˜ë©´ì„œ ê³„ì† ì›€ì§ìž…니다. Smalltalk를 ë낼 때ì—는 í˜„ìž¬ì˜ ìƒíƒœë¥¼ 그대로 기ë¡í•´ 둡니다. 여기서 '현 ìž¬ì˜ Smalltalk ìƒíƒœ'를 "본"(image)ì´ë¼ê³ ë¶€ë¥´ê³ , ì´ëŸ¬í•œ ë³¸ì„ ì €ìž¥í•´ ë‘ ëŠ” ê²ƒì„ "ë³¸ì„ ëœ¬ë‹¤"ê³ ë§í•©ë‹ˆë‹¤. 본ì—는 Smalltalk 환경ì—서 살아서 ëŒì•„ê°€ 는 ëª¨ë“ ì¢…ë¥˜ì˜ ê°ì²´ë“¤ì´ ì €ìž¥ë˜ì–´ 있습니다. Smalltalk í™˜ê²½ì€ ê²°êµ 4만여 ê°œì˜ ê°ì²´ê°€ ì–´ë£¨ëŸ¬ì ¸ì„œ ëŒì•„가는 ê³³ì´ë¯€ë¡œ,'본'ì—는 Smalltalkì˜ ëª¨ë“ ìƒíƒœ ê°€ 기ë¡ë˜ëŠ” 것입니다. 그러므로 '본'ì€ ë§¤ìš° 중요한 것입니다. 그야ë§ë¡œ ì—¬ ëŸ¬ë¶„ì´ ë§Œë“¤ì–´ ë†“ì€ ëª¨ë“ ê²ƒì€ '본'ì— ì €ìž¥ë©ë‹ˆë‹¤. 그러므로 Smalltalk를 종 ë£Œí• ë•Œì—는 반드시 "본"ì„ ë– ë‘ë„ë¡ í•©ì‹œë‹¤. 그래야만 ë‚˜ì¤‘ì— Smalltalk í™˜ê²½ì´ ë‹¤ì‹œ 시작ë 때 ì´ì „ì— ëœ¬ ë³¸ì„ ê·¸ëŒ€ë¡œ ê°€ì§€ê³ ì™€ì„œ ê°ì²´ë“¤ì„ 재ìƒì‹œ 킬 수 있기 때문입니다. ê²°êµ "본"ì€ ì‹œê°„ì´ íë¦„ì— ë”°ë¼ ìžê¾¸ ìžê¾¸ 변한다는 ê²ƒì„ ì•Œ 수 있습니다. 때로는 새로운 ê°ì²´ê°€ ë§Œë“¤ì–´ì§€ê¸°ë„ í•˜ê³ , ì´ë¯¸ ìžˆë˜ ê°ì²´ê°€ ì—†ì–´ì§€ê¸°ë„ í•˜ 면서 ë§ì´ì§€ìš”. ê·¸ëŸ°ë° ë§Œì•½ ì—¬ëŸ¬ë¶„ì´ ì‹¤ìˆ˜ë¡œ Smalltalkì—서 ê¼ í•„ìš”í•œ ì–´ë–¤ ê°ì²´ë¥¼ ì§€ì› ë‹¤ê³ ìƒê°í•´ 봅시다(ë¬¼ë¡ ì´ëŸ¬í•œ ì¼ì„ Smalltalkê°€ 묵묵히 지켜 ë³´ê³ ìžˆì§€ëŠ” 않습니다. 몇 ë²ˆì˜ ê²½ê³ ê³¼ì •ì„ ê±°ì¹˜ì§€ìš”.). 그럼 어떻게 ë˜ì‚´ 릴 수 ìžˆê² ìŠµë‹ˆê¹Œ? 사실 ë°©ë²•ì´ ì—†ìŠµë‹ˆë‹¤. 지우기는 쉬워ë„, ê·¸ë ‡ê²Œ 해서 한 번 지워진 ê°ì²´ëŠ” 다시는 복구시킬 수가 없기 때문입니다. ì´ê²ƒì´ ì—¬ëŸ¬ë¶„ì´ Smalltalk를 설치한 í›„ì— ë°”ë¡œ ìƒì„±ë˜ëŠ” '바탕본'(base image)ì„ í•œ 벌 ë– ë‘어야 하는 ì´ìœ 입니다. 그래야만 ë§Œì¼ì˜ ê²½ìš°ì— ë°œìƒí•˜ëŠ” ë¬¸ì œë¥¼ ì˜ˆë°©í• ìˆ˜ 있는 것입니다. ìž, ì´ì œ 그럼 어떻게 하면 ë°”íƒ•ë³¸ì„ ì—¬ë²Œ 받아둘 수 있는지를 알아봅시다. Dolphin Smalltalkê°€ ì„¤ì¹˜ëœ í´ë”를 ì—´ì–´ë³´ë©´ 다ìŒê³¼ ê°™ì€ íŒŒì¼ì´ 있ìŒì„ 알 수 있습니다. Dolphin.chg Dolphin.img Dolphin.sml ì´ ì„¸ ê°œì˜ íŒŒì¼ì´ ì—¬ëŸ¬ë¶„ì´ ì—¬ë²Œ(back up)ì„ ë°›ì•„ì•¼ 하는 파ì¼ë“¤ìž…니다. 위 ì˜ íŒŒì¼ë“¤ì„ 여벌 받아서 다른 ê³³ì— ê°ê° 복사해 ë‘ë©´, ë§Œì¼ ì—¬ëŸ¬ë¶„ì˜ ì‹¤ìˆ˜ 로 지워지거나 ë°”ë€ Smalltalk í™˜ê²½ì„ ë˜ëŒë¦´ 수 ìžˆì„ ê²ƒìž…ë‹ˆë‹¤. í•„ìžì˜ ê²½ ìš° ìœ„ì˜ ì„¸ 파ì¼ì„ 압축하여 따로 보관합니다. ì ì–´ë„ ì¼ ì£¼ì¼ì— 한 ë²ˆì€ ìœ„ ì˜ íŒŒì¼ì„ 여벌 받아ë‘는 ê²ƒì´ ë§¤ìš° 좋습니다. (í•„ìžëŠ” í•˜ë£¨ì— í•œ 번 씩 ì—¬ ë²Œì„ ë°›ìŠµë‹ˆë‹¤ë§Œ...) 그럼 ìœ„ì˜ íŒŒì¼ë“¤ì´ ê°ê° 무슨 ì—í• ì„ í•˜ëŠ”ì§€ 간단하게나마 ì„¤ëª…ì„ í•˜ë„ë¡ í•˜ê² ìŠµë‹ˆë‹¤. * Dolphin.sml ì´ íŒŒì¼ì€ Dolphin Smalltalk ë°”íƒ•ë³¸ì˜ ë°”íƒ•ê¸€(source code)입니다. ì—¬ê¸°ì— ëŠ” 기본ì 으로 Object Arts사ì—서 만들어 ë†“ì€ Smalltalk í™˜ê²½ì„ ì´ë£¨ê³ 있 는 ëª¨ë“ êµ¬ì„±ìš”ì†Œì— ëŒ€í•œ ë°”íƒ•ê¸€ì´ ì‹¤ë ¤ 있습니다. ìš©ëŸ‰ì´ 3MBê°€ 넘습니다. * Dolphin.img ì´ íŒŒì¼ì€ Dolphin Smalltalkì˜ '본'(image)입니다. 앞서 ë§í–ˆì§€ë§Œ, ì´ ë³¸ì— ëŠ” Smalltalkì˜ ëª¨ë“ ê°ì²´ë“¤ì˜ ìƒíƒœê°€ ì €ìž¥ë˜ì–´ìžˆìŠµë‹ˆë‹¤. 그래서 다ìŒì— Smalltalk í™˜ê²½ì´ ë‹¤ì‹œ 실행ë˜ë©´ ì—¬ê¸°ì— ì €ìž¥ë˜ì–´ìžˆëŠ” ê°ì²´ë“¤ì´ 재ìƒë˜ì–´ 활 ë™ì„ 시작하는 것입니다. * Dolphin.chg ì´ íŒŒì¼ì€ '변경 ê¸°ë¡ íŒŒì¼'(change log file)ì´ë¼ê³ 부릅니다. ì´ íŒŒì¼ ì•ˆ ì—는 ì—¬ëŸ¬ë¶„ì´ Smalltalkì—서 실행한 ëª¨ë“ ëª…ë ¹ì´ ê¸°ë¡ë©ë‹ˆë‹¤. 새로운 ê°ì²´ 를 ë§Œë“ ë‹¤ 거나 ì´ì „ì— ìžˆë˜ ê°ì²´ë¥¼ 지운다거나 하는, ì—¬ëŸ¬ë¶„ì˜ ëª¨ë“ ë™ìž‘ì´ ì´ íŒŒì¼ì— 기ë¡ë˜ì–´ 있습니다. 다시 ë§í•˜ë©´ ë°”íƒ•ë³¸ì´ ì–´ë–»ê²Œ 변해왔는지를 ì´ íŒŒì¼ì— 기ë¡í•´ ë‘는 것입니다. 여기서 ì—¬ëŸ¬ë¶„ì´ ê¶ê¸ˆí•´í•˜ëŠ” ì ì´ ìžˆì„ì§€ë„ ëª¨ë¥´ê² ìŠµë‹ˆë‹¤. 바로 ë³¸ì€ ë¬´ì—‡ì´ ê³ , ë°”íƒ•ê¸€ì€ ë¬´ì—‡ì´ëƒëŠ” 것입니다. 즉 '본'ì´ ìžˆëŠ”ë° ì™œ 따로 ë°”íƒ•ê¸€ì´ í•„ 요한가가 ê¶ê¸ˆí• 것입니다. '본'ì—는 ê°ì²´ì˜ ìƒíƒœê°€ 기억ë˜ì–´ 있습니다. ê·¸ë¦¬ê³ '바탕글'ì€ ì´ëŸ¬í•œ ë³¸ì— ë“¤ì–´ê°€ëŠ” ê°ì²´ë¥¼ 만들기 위한 ëª…ë ¹ë“¤ì´ ë“¤ì–´ 있습니다. ë¹„ìœ ë¥¼ 들어보면, '본'ì€ ì§‘ì´ê³ '바탕글'ì€ ì„¤ê³„ë„입니다. 설계ë„대로 만들면 한 ì²´ì˜ ì§‘ì´ ìƒê¹ë‹ˆë‹¤. 그러므로 ì§‘ì´ ìžˆê³ ê·¸ ì§‘ì„ ë§Œë“¤ê¸° 위한 설계ë„ê°€ 있는 것입니 다. 마찬가지로 '본'ì—는 무수히 ë§Žì€ ê°ì²´ë“¤ì´ ìžˆê³ , ì´ ê°ì²´ë“¤ì„ 만들기 위한 ëª…ë ¹ì€ ë°”íƒ•ê¸€ì— ë“¤ì–´ìžˆìŠµë‹ˆë‹¤. ë°”íƒ•ê¸€ì— ìžˆëŠ” ëª…ë ¹ì„ ì‚¬ìš©í•˜ë©´ ê°ì²´ë¥¼ 만들 수 있는 것ì´ê³ , ì´ ê²°ê³¼ê°€ 바로 '본'ì— ì €ìž¥ë˜ëŠ” 것입니다. 우리가 맨 처ìŒì— 3 + 4. ☞ 7 ì´ë¼ê³ 했는ë°, ì´ ê°„ë‹¨í•œ ëª…ë ¹ë„ ê°ì²´ë¥¼ 만드는 ì¼ì„ 합니다. 즉 '3'ê³¼ '4' ë¼ëŠ” ê°ì²´ë¥¼ ê°€ì§€ê³ '7'ì´ë¼ëŠ” 새로운 ê°ì²´ë¥¼ 만들었기 때문입니다. '7'ì´ë¼ 는 ê°ì²´ë¥¼ 만들기 위해서 "3 + 4."ë¼ëŠ” ëª…ë ¹ì„ í•œ 것ì´ê³ , ì´ ê²°ê³¼ ìƒê²¨ë‚˜ëŠ” ê²ƒì´ "7"ì´ë¼ëŠ” ê°ì²´ìž…니다. 여기서 "3 + 4."는 ë°”íƒ•ê¸€ì´ ë˜ëŠ” 것ì´ê³ , '7' ì€ ê·¸ ê²°ê³¼(=본)ê°€ ë˜ëŠ” 것입니다. ì´ì œ '본'ê³¼ '바탕글'ì˜ ì°¨ì´ë¥¼ ì•„ì‹œê² ìŠµ 니까? 여하튼 Dolphin Smalltalkì—서 ì—¬ëŸ¬ë¶„ì€ ìœ„ì—서 ëŠ˜ì–´ë†“ì€ ì„¸ ê°œì˜ íŒŒì¼ì„ ë°˜ 드시 여벌 받아 놓아야만 합니다. ê·¸ë¦¬ê³ ì—¬ëŸ¬ë¶„ì´ Smalltalk 환경으로 작업 ì„ í•´ 나가면서 중간 ì¤‘ê°„ì— ì—¬ëŸ¬ë¶„ë§Œì˜ ë³¸ì„ ë– ë‘는 ê²ƒì´ ì¢‹ìŠµë‹ˆë‹¤. 여벌 받기는 아무리 ê°•ì¡°í•´ë„ ì§€ë‚˜ì¹˜ì§€ 않으니까요. ---<ìž ê¹!>---------------------------------------------------------- Dolphin Smalltalkê°€ 아닌 다른 Smalltalk 환경ì—서는 í•„ìžê°€ 설명한 것과 다른 ë°©ì‹ìœ¼ë¡œ '본'ì„ ê´€ë¦¬í• ìˆ˜ 있습니다. 그러나 Smalltalk는 기본ì 으로 ë³¸ì— ëª¨ë“ ìƒíƒœë¥¼ ì €ìž¥í•˜ê³ , 다ìŒì— Smalltalk í™˜ê²½ì´ ë‹¤ì‹œ 실행ë˜ë©´ ë³¸ì— ê¸°ë¡ëœ ê²ƒì„ ë¶ˆëŸ¬ì™€ì„œ 쓴다는 ê²ƒì€ ë³€í•¨ì´ ì—†ìŠµë‹ˆë‹¤. ---------------------------------------------------------- 1.4.3. 글꼴 ì„¤ì •í•˜ê¸° -------------------- Dolphin Smalltalk는 기본ì 으로 ì˜ì–´ê¶Œì— ë§žë„ë¡ ì„¤ì •ë˜ì–´ 있습니다. ë”°ë¼ ì„œ 한글 Windowsì—서 사용하는 기본 ê¸€ê¼´ì¸ '굴림'으로 글꼴 ì„¤ì •ì„ ë°”ê¾¸ì–´ 줄 필요가 있습니다. Dolphin Smalltalkì˜ Tool > Options > Default Font... 메뉴를 사용하여 기 본 ê¸€ê¼´ì„ '굴림'으로 ì„¤ì •í•´ 놓으면 ì´ í›„ë¶€í„° Smalltalk는 기본ì 으로 êµ´ ë¦¼ì²´ì˜ ê¸€ê¼´ì„ ì‚¬ìš©í• ê²ƒìž…ë‹ˆë‹¤. ('굴림'ê³¼ '굴림체'는 다른 글꼴ì´ë¯€ë¡œ ë°˜ 드시 '굴림'ì„ ì„ íƒí•©ì‹œë‹¤.) ì´ì œë¶€í„° ì—¬ëŸ¬ë¶„ì´ ì„¤ì •í•˜ëŠ” ê²ƒì€ ëª¨ë‘ Smalltalkì˜ ë³¸ì— ë°˜ì˜ì´ ë©ë‹ˆë‹¤. ê·¸ 러므로 다ìŒë¶€í„° Smalltalk를 시작하면 기본 ê¸€ê¼´ì´ ì ìš©ë 것입니다. 지금까지 우리는 Dolphin Smalltalk를 등ë¡í•˜ê³ , ë°”íƒ•ë³¸ì„ ì—¬ë²Œ ë°›ê³ , 기본 ê¸€ê¼´ì„ ì„¤ì •í•˜ëŠ” ë°©ë²•ì„ ìµí˜”습니다. ì´ì œ ì´ë¥¼ 바탕으로 하여 Smalltalk 환 ê²½ì„ ì •ë¹„í•´ ë‘ë©´, ì´ ë’¤ë¡œëŠ” Smalltalk ê³µë¶€ì— ë§Žì€ ë„ì›€ì´ ë 것입니다. 마지막으로 한 마디만 ë” í•˜ê² ìŠµë‹ˆë‹¤. "여벌 받기"는 아무리 ê°•ì¡°í•´ë„ ì§€ë‚˜ 치지 않습니다! :) 계ì†... }}} ---- ["SmallTalk/강좌FromHitel"]