E D R , A S I H C RSS

Small Talk_Introduce

~cpp 	
                      Smalltalk— ๋Œ€•œ ๋ช‡ ๊ฐ€ง€ ด•ผ๊ธฐ
                                                         98. 11. 16. ๊น€ฐฌ™
                                             mailto:andrea92@mail.hitel.net

ด ๊ธ€€ Smalltalk๋ผ๋Š” ”„๋กœ๊ทธ๋ž˜๋ฐ –ธ–ด—  ๋Œ€•œ ๋ช‡ ๊ฐ€ง€ ค‘š”•œ ด•ผ๊ธฐ๋ฅผ  ๋‹ด๊ณ  
žˆŠต๋‹ˆ๋‹ค. Dolphin Smalltalk  98„ ๋งŒ๋“  Object  Arts๋ผ๋Š” šŒ‚ฌ๊ฐ€ “ด  "Dolphin 
Smalltalk White pager"˜ ๋‚ดšฉ—  œ๊ฐ€ ƒ๊ฐ•œ ๊ฒƒ„ ๋ช‡ ๊ฐ€ง€ ๋ง๋ถ™—ฌ„œ Smalltalk
— ๋Œ€•œ ด•ผ๊ธฐ๋ฅผ ‹œž‘•ด ๋ณด๋ ค •ฉ๋‹ˆ๋‹ค. 

‚ฌ‹ค Smalltalk— ๊ด€•œ ๊ตญ๋‚ด˜ ž๋ฃŒ๋Š”  ๋งคšฐ ๋นˆ•ฝ•œ Žธž…๋‹ˆ๋‹ค. ดƒ•˜๊ฒŒ๋„  šฐ๋ฆฌ 
๋‚˜๋ผ—„œ๋Š” C/C++ด ”„๋กœ๊ทธ๋ž˜๋ฐ –ธ–ด˜ ฃผ๋ฅ˜๋ฅผ ด๋ฃจ๊ณ  žˆœผ๋ฉฐ, š”ˆŒ€  Delphi
™€ Visual Basic๋„    ๊ทธ ค‘š”๋„๋ฅผ ๋”•˜๊ณ  žˆŠต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜  •ž‘ ๊ฐฒดง€–ฅ ”„
๋กœ๊ทธ๋ž˜๋ฐ –ธ–ด˜ กฐƒดž ™„๊ฒฐŒด๋ผ๊ณ  •  ˆ˜ žˆ๋Š” Smalltalk— ๋Œ€•œ ž๋ฃŒ๋Š” ๊˜ ฐพ•„๋ณด๊ธฐ –ด๋ ตŠต๋‹ˆ๋‹ค. ด๋Š” ƒšฉ Smalltalk ‹œŠค…œ˜ ๊ฐ€๊ฒฉด ๋งŒ๋งŒน˜  •Šœผ๋ฉฐ, 
Smalltalk๋ฅผ  „‚ฐ ๊ตœก ๊ธฐ๊ด€—„œ ๋ณ„๋กœ ค‘š”•˜ง€ •Š๊ฒŒ —ฌ๊ธฐ๊ณ  žˆ๊ธฐ ๋•Œ๋ฌธด๊ธฐ๋„ •ฉ
๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ 90๋…„๋Œ€— ๋“ค–ด„œ๋ฉด„œ๋ถ€„›Œ๋ฅญ•œ ๊ณต๊ฐœšฉ Smalltalk ‹œŠค…œด ๋งŽด ๋ฐฐฌ๋˜
๊ณ  žˆœผ๋ฉฐ, •„ž๊ฐ€ ž๋ฃŒ‹ค— ˜ฌ๋ฆฐ Dolphin Smalltalk —ญ‹œ ๊ทธ๋Ÿฐ ›Œ๋ฅญ•œ ๊ฐœ๋ฐœ ™˜
๊ฒฝ— †•ฉ๋‹ˆ๋‹ค.

ด œ ๋ฏธ•ฝ•˜๋‚˜๋งˆ  €๋Š” Smalltalk— ๊ด€•œ ž๋ฃŒ๋ฅผ กฐ๊ธˆ”ฉ ž˜๋‹ฟ๋Š” ๋Œ€๋กœ  —ฌ๋Ÿฌ๋ถ„—๊ฒŒ 
†Œ๊ฐœ‹œผœ ๋“œ๋ฆด ๊ฒƒž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  •œ ๋ฒˆ— ๋งŽ€ –‘„ ๋“œ๋ฆฌง€๋Š” ๋ชป•˜๊ฒ ง€๋งŒ,  •žœผ๋กœ 
˜ฌ๋ฆฌ๋Š” ž๋ฃŒ๊ฐ€ —ฌ๋Ÿฌ๋ถ„ด Smalltalk๋ฅผ ๊ณต๋ถ€•˜๋Š”๋ฐ žˆ–ด„œ ž‘œผ๋‚˜๋งˆ ๋„›€ด ๋˜—ˆœผ
๋ฉด •˜๋Š” ๋ฐ”๋žจž…๋‹ˆ๋‹ค.

๋จผ € Smalltalk –ธ–ด— ๋Œ€•œ ๊ธฐ๋ณธ ธ ƒ๊ฐ๊ณผ ฒ •™„ ๊ฐ„๋‹จžˆ †Œ๊ฐœ•ฉ๋‹ˆ๋‹ค. ”žˆ๋“ค 
Smalltalk— ๋Œ€•ด ๊ฐ€ง€๊ธฐ ‰ฌšด ˜ค•ด๋“ค ๋˜•œ —ฌ๊ธฐ—„œ ๋‹ค๋ฃจ๋„๋ก •˜๊ฒ Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜
„œ Smalltalk   –ธ–ด๋Š” ๋ฐฐ›Œ๋ณผ  ๋งŒ•œ  ๊ฐ€น˜๊ฐ€ žˆ๋‹ค๋Š”   ๊ฒƒ๊ณผ ถฉ๋ถ„žˆ  ‹ค œ  ‘šฉ
(application) ”„๋กœ๊ทธ๋žจ„ ๋งŒ๋“œ๋Š”๋ฐ ‚ฌšฉ•  ˆ˜  žˆ๋‹ค๋Š” ๊ฒƒ„ •Œ๋ ค๋“œ๋ฆฌ๊ณ ž •ฉ๋‹ˆ
๋‹ค.

1. ๊ฐฒดง€–ฅ, ๊ทธ๋ฆฌ๊ณ  Smalltalk
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90๋…„๋Œ€ ˆ—๋Š” ๋จธง€•Š•„ ๋ฌด๋ฅธ๋ชจ(software)๋Š” ๊ฐฒด(object)™€  ๋ถ€’ˆ(component)๋ฅผ 
‚ฌšฉ•˜—ฌ ๋งŒ๋“ค–ดˆ ๊ฒƒด๋ผ๋Š” ด•ผ๊ธฐ๊ฐ€ ๋ฌด„–ˆŠต๋‹ˆ๋‹ค. ๊ณผ—ฐ ˜ค๋Š˜๋‚  ๋งŽ€ ๋ฌด๋ฅธ๋ชจ๋“ค
ด ๊ฐฒด™€ ๋ถ€’ˆœผ๋กœ ๋งŒ๋“ค–ดง€๊ณ  žˆœผ๋ฉฐ, COMด๋‚˜ CORBA™€ ๊ฐ™ด ๊ฐฒด™€ ๋ถ€’ˆ„ ค‘
‹œ•˜๋Š” —ฌ๋Ÿฌ ๊ฐ€ง€ ๊ธฐˆ ๋“คด ๊ฐœ๋ฐœ ‚ฌšฉ๋˜๊ณ  žˆŠต๋‹ˆ๋‹ค. 80๋…„๋Œ€ ˆ๋ฐ˜— ๋“žฅ•˜—ฌ ๋ฌด
๋ฅธ๋ชจ ๊ฐœ๋ฐœ— •˜๋‚˜˜ ปค๋‹ค๋ž€ ‚ฌ๊ด ๋˜–ด๋ฒ„๋ฆฐ "๊ฐฒด ง€–ฅ"(Object Oriented) Œจ๋Ÿฌ
๋‹คž„€ ˜ค๋Š˜๋‚ — ™€„œ๋Š” ‚ฌ‹คƒ ๋ฌด๋ฅธ๋ชจ˜ ๋ชจ๋“  ˜—ญ—  šฉ๋˜๋Š” Œจ๋Ÿฌ๋‹คž„ด ๋˜–ด
๋ฒ„๋ ธŠต๋‹ˆ๋‹ค. 
ด œ๋Š” –ด๋–ป๊ฒŒ •˜๋ฉด ˆ ข‹€ ๋ฌด๋ฅธ๋ชจ๋ฅผ ๋ณด๋‹ค ๋นจ๋ฆฌ, ๊ทธ๋ฆฌ๊ณ  ๋งŽด ๋งŒ๋“ค ˆ˜ žˆ๋А๋ƒ™€ 
๋”๋ถˆ–ด ‚ฌšฉž˜ š”๊ตฌ— ๋”ฐ๋ผ ๋ฌด๋ฅธ๋ชจ๋ฅผ –ผ๋งˆ๋‚˜ ‰ฝ๊ฒŒ œ ง€.๊ด€๋ฆฌ•  ˆ˜ žˆ๋А๋ƒ๊ฐ€ ค‘
š”•œ ๋ฌธ œ๋กœ ๋Œ€๋‘๋˜—ˆœผ๋ฉฐ, ๊ฐฒดง€–ฅ Œจ๋Ÿฌ๋‹คž„€ ด๋Ÿฐ ๋ฌธ œ๋ฅผ •ด๊ฒฐ•  ˆ˜ žˆ๋Š” •˜
๋‚˜˜ ๋Œ€•ˆ„  œ‹œ•ด ฃผ—ˆŠต๋‹ˆ๋‹ค. 

˜ค๋Š˜๋‚  ๋งŽด ‚ฌšฉ๋˜๊ณ  žˆ๋Š” C++, Java, Object Pascal ๋“€ ๋ชจ๋‘ ”„๋กœ๊ทธ๋ž˜๋ฐ –ธ
–ด— ๊ฐฒด ง€–ฅ Œจ๋Ÿฌ๋‹คž„„  šฉ‹œ‚จ ข‹€ ˜ˆ๋ผ๊ณ  •  ˆ˜ žˆ๊ณ˜Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ด
๋Ÿฌ•œ ‹œ๋„๋“ค€ ๊ธฐกด— กดžฌ•˜๋Š” Œจ๋Ÿฌ๋‹คž„ œ„— ๊ฐฒด ง€–ฅ Œจ๋Ÿฌ๋‹คž„„ ๋ง”Œšด  ๊ฒฐ
๊ณผ๋ฅผ ˆ๋ž˜•˜—ฌ, •„š” ดƒœผ๋กœ ๋ณตžก•œ –ธ–ด ๋ช…„ธ๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜—ˆœผ๋ฉฐ, ๊ธฐกด˜  ๊ตฌ
กฐ  ”„๋กœ๊ทธ๋ž˜๋ฐ Šต๊ด€— ตˆ™•œ šฐ๋ฆฌ๋“ค—๊ฒŒ ๊ฐฒด ง€–ฅ ๊ธฐ๋ฒ•„ ๊ตฌ˜„•  ˆ˜ žˆ๋Š” ƒ
๊ฐ˜ —ฌœ ๋ฅผ —ˆšฉ•˜ง€ •Š•˜Šต๋‹ˆ๋‹ค. ‚ฌ๋žŒ๋“ค€ ž‹ ด ด๋ฏธ •Œ๊ณ  žˆ๋Š” ๋ฐฉ‹๋Œ€๋กœ ”„
๋กœ๊ทธ๋ž˜๋ฐ„ •˜๊ณ , ๋”ฐ๋ผ„œ ๊ฐฒดง€–ฅ –ธ–ด๋กœ  ๋งŒ๋“ค–ด„ ”„๋กœ๊ทธ๋žจด  „˜€ ๊ฐฒดง€–ฅ 
๋‹ตง€ •ˆ€ ”„๋กœ๊ทธ๋žจด ๋˜๊ณ  ๋งŒ ๊ฒƒž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜„œ  €๋Š” ˆœˆ˜•˜๊ฒŒ ๊ฐฒดง€–ฅ ธ ๊ด€
 —„œ ๋ฌธ œ๋ฅผ ๋ฐ”๋ผ๋ณด๋Š” ๊ฒƒด –ด๋–จ๊นŒ •˜๊ณ  ƒ๊ฐ•˜๊ฒŒ ๋˜—ˆœผ๋ฉฐ, ๊ทธ๋ž˜„œ  ฐพ•„๋‚ด๊ฒŒ 
๋œ ๊ฒƒด ๋ฐ”๋กœ Smalltalk –ธ–ดž…๋‹ˆ๋‹ค.

1980๋…„๋Œ€ ˆ๋ฐ˜— ฒ˜Œ ๋ชจŠต„ ๋“œ๋Ÿฌ๋‚ธ Smalltalk ‹œŠค…œ€ ๋‹น‹œ˜ ๋ฌด๋ฅธ๋ชจ  œ„›šŒ
(software community)— ˜•ด  ๋งคšฐ ค‘š”•œ ๊ฐฒดง€–ฅ ”„๋กœ๊ทธ๋ž˜๋ฐ ™˜๊ฒฝœผ๋กœ —ฌ๊ฒจ
กŒ๊ณ , Smalltalk˜ –ธ–ด ๋ช…„ธ๋Š” ๋‹ค๋ฅธ  ๋ชจ๋“  ๊ฐฒดง€–ฅ ”„๋กœ๊ทธ๋ž˜๋ฐ –ธ–ด˜  žฃ๋Œ€๊ฐ€ 
๋˜—ˆŠต๋‹ˆ๋‹ค. ๋˜•œ Smalltalk ™˜๊ฒฝ—„œ ‚ฌšฉ๋˜๋Š” ๋งŽ€ ๊ฐœ๋…๋“คด šฐ๋ฆฌ๊ฐ€ ˜„žฌ ‚ฌšฉ
•˜๊ณ  žˆ๋Š” Delphi๋‚˜ Visual Basic ๋“—  šฉ๋˜๊ณ  žˆ๋Š” ๊ฒƒœผ๋กœ ๋ณผ ๋•Œ, ด๋Ÿฌ•œ ๊ฐ
ฒดง€–ฅ ธ ™˜๊ฒฝ€ ๋งคšฐ ๋†’€ ƒ‚ฐ„„ ๊ฐ€ง€๊ณ  žˆ๋‹ค๋Š” ๊ฒƒ„ ๋ณด—ฌฃผ๋Š” ข‹€  ˜ˆ๋ผ
๊ณ  •˜๊ฒ Šต๋‹ˆ๋‹ค. 

๊ทธ๋Ÿผ—๋„ ๋ถˆ๊ตฌ•˜๊ณ  Smalltalk๋Š” ๋ฒ”šฉ ”„๋กœ๊ทธ๋ž˜๋ฐ –ธ–ด๋กœจ ‚ฌšฉ๋˜๊ธฐ—๋Š” ๋ช‡ ๊ฐ€ง€
˜ žฅ๋ฒฝ„ ๊ฐ€ง€๊ณ  žˆ—ˆŠต๋‹ˆ๋‹ค. Dolphin Smalltalk๋Š” ด๋Ÿฌ•œ žฅ๋ฒฝ๋“ค„›–ด๋„˜–ด„œ 
๋งˆนจ๋‚ด Smalltalk๋„ •˜๋‚˜˜ ›Œ๋ฅญ•œ ๊ฐœ๋ฐœ™˜๊ฒฝด ๋  ˆ˜ žˆ๋‹ค๋Š” ๊ฒƒ„ ๋ณด—ฌฃผ๊ณ  žˆŠต
๋‹ˆ๋‹ค. ด๋Š” ๋น„๋‹จ Dolphin Smalltalk๋งŒด •„๋‹ˆ๋ผ, ๋„๋ฆฌ ‚ฌšฉ๋˜๊ณ  žˆ๋Š”  VisualAge 
for Smalltalk๋‚˜ Visual Smalltalk ๋“˜ ™˜๊ฒฝ—๋„ ๋˜‘๊ฐ™ด  šฉ๋˜๊ณ  žˆœผ๋ฉฐ, ๋”ฐ๋ผ
„œ ด๋Ÿฌ•œ žฅ๋ฒฝ๋“ค€ ๋ถ„๋ช…žˆ •ด๊ฒฐ๋  ˆ˜ žˆ๋‹ค๋Š” ๊ฒƒ„ ๋ณด—ฌค๋‹ˆ๋‹ค.

ด œ ”žˆ ‰๊ฐ€๋˜๊ณ  žˆ๋Š” Smalltalk— ๋Œ€•œ žฅ๋ฒฝ๋“ค—๋Š” –ด๋–ค ๊ฒƒด žˆ๋Š”ง€ •Œ•„๋ณด
๊ฒ Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„ Smalltalk— ๋Œ€•œ ‰๊ฐ€  ค‘—๋Š” ˜ค•ด•ด„œ ๋น„๋กฏ๋œ ๊ฒƒ๋“คด  ๋งŽœผ
๋ฉฐ, ด๊ฒƒด Smalltalk๊ฐ€ ๋ฒ”šฉ ”„๋กœ๊ทธ๋ž˜๋ฐ –ธ–ด๋กœจ “ฐด๋Š”๋ฐ •˜๋‚˜˜ ปค๋‹ค๋ž€ žฅ๋ฒฝ
ด ๋˜—ˆ๋˜ ๊ฒƒž…๋‹ˆ๋‹ค.


2. Smalltalk๋Š” ๋А๋ฆฌ๋‹ค
~~~~~~~~~~~~~~~~~~~~~
1981๋…„ 8›”— ถœ‹œ๋œ "Smalltalk-80"€ ฒซ ๋ฒˆงธ๋กœ ถœ‹œ๋œ Smalltalk  ‹œŠค…œœผ๋กœ
จ ฐ ˜๋ฏธ๋ฅผ ๊ฐ€ง€๊ณ  žˆ—ˆŠต๋‹ˆ๋‹ค. ด Smalltalk-80ด  œ๋Œ€๋กœ ๋Œ•„๊ฐ€๋ ค๋ฉด  ค‘๋Œ€˜•
๊ธ‰ ๋ฏธ๋‹ˆปด“จ„ดƒ˜ „๋Šฅ„ ๊ฐ€„  ‹œŠค…œด •„š”–ˆŠต๋‹ˆ๋‹ค. š”ฆ˜€ •„๋ฌด๋ ‡ง€๋„ 
•Š๊ฒŒ ‚ฌšฉ๋˜๊ณ  žˆ๋Š”  œผ๋กœ ด๋ฃจ–ด„ ๊ทธ๋ฆผ(bitmap graphic)๊ณผ ๊ทธ๋ž˜”ฝ ‚ฌšฉž  ™˜
๊ฒฝGUI), ๋ชจ๋“  ๊ฒƒด ๊ฐฒดด๋ฉฐ ด ๊ฐฒด๋“ค ๊ฐ„— กดžฌ•˜๋Š” ƒ†„, ๊ทธ๋ฆฌ๊ณ  ๊ธฐ–ต ๊ณต๊ฐ„
„  šจœจ œผ๋กœ  ๊ด€๋ฆฌ•˜๊ธฐ  œ„•œ  “ฐ๋ ˆ๊ธฐ  ˆ˜ง‘(garbage  collection)  ๋“  ฒ˜Œ 
Smalltalk—„œ †Œ๊ฐœ๋œ ด๋Ÿฌ•œ ๊ฐœ๋…„ ๊ตฌ˜„•˜๊ธฐ œ„•ด„œ๋Š” ๊ทธ ๋‹น‹œ๋กœจ๋Š” ๋งคšฐ  ๋†’
€ ‚ฌ–‘˜ ‹œŠค…œด  •„š”–ˆ๋˜ ๊ฒƒž…๋‹ˆ๋‹ค. ๋น„๋ก  ด๋Ÿฌ•œ ๊ธฐ๋Šฅ๋“คด ๊ฐœธšฉ  ปด“จ„ฐ
(PC)—„œ ๊ตฌ˜„๋   ˆ˜๋Š” žˆ—ˆ๊ฒ ง€๋งŒ,  80๋…„๋Œ€— ๋„๋ฆฌ  ‚ฌšฉ๋˜๋„Œ PC—„œ  ๋Œ•„๊ฐ€๋Š” 
Smalltalk๋ฅผ ƒ๊ฐ•œ๋‹ค๋ฉด? •„๋งˆ ๋ช…๋ น–ด •˜๋‚˜๋ฅผ  ˆ˜–‰•˜๋Š”๋ฐ žˆ ๋ช‡ ‹ญˆ๋Š”  ๊ธ๋ฆด
๊ฒƒด ๋ป”–ˆ„ ๊ฒƒž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ง€๊ธˆ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋ฌด๋ฅธ๋ชจ(hardware)๋Š” ๋ˆˆ๋ถ€‹  †๋„๋กœ ๋ฐœ „•˜—ฌ, ˜„žฌ  šฐ
๋ฆฌ๊ฐ€ PC๋กœ “ฐ๊ณ  žˆ๋Š” Žœ‹ฐ—„๊ธ‰˜ ปด“จ„ฐ๋Š” ๊ณผ๊ฐ 80๋…„๋Œ€— “ฐด๋˜ ๋Œ€˜•  ปด“จ„˜ 
„๋Šฅ„ ›”ฌ ๋›–ด๋„˜๊ณ  žˆŠต๋‹ˆ๋‹ค. ๋˜•œ ๋ฌด๋ฅธ๋ชจ —ญ‹œ ๋งŽด ๋ฐœ๋‹ฌ•˜—ฌ ๊ฐ™€ ‹œŠค…œผ
ง€๋ผ๋„ ๋ณด๋‹ค šจœจ ธ  ˆ˜–‰ „๋Šฅ„  ๋ณดžฅ•  ˆ˜ žˆ๊ฒŒ  ๋˜—ˆŠต๋‹ˆ๋‹ค. ด œ  ๋น„๋กœ†Œ 
Smalltalk๋Š” 486DX 66  •๋„˜ ‹œŠค…œ—„œ๋„ ถฉ๋ถ„žˆ ž˜ ๋Œ•„๊ฐˆ ˆ˜ žˆ๊ฒŒ ๋˜—ˆœผ๋ฉฐ, 
”žˆ šฐ๋ฆฌ๋“คด ‚ฌšฉ•˜๊ณ  žˆ๋Š” Žœ‹ฐ—„๊ธ‰ ปด“จ„—„œ๋Š” ๋”š ๋” ตœ ˜ „๋Šฅ„  ๋ฐœ
œ˜•˜๊ณ  žˆŠต๋‹ˆ๋‹ค. 

†๋„— ๋Œ€•ด„œ ด•ผ๊ธฐ•  ๋•Œ ˆ˜–‰  †๋„(running performance)™€ ๋”๋ถˆ–ด ๋น ˆ  ˆ˜ 
—†๋Š” ๊ฒƒœผ๋กœ๋Š” ๊ฐœ๋ฐœ †๋„๊ฐ€ žˆŠต๋‹ˆ๋‹ค. š”ฆ˜๊ณผ ๊ฐ™ด —…๋ฌด ฒ˜๋ฆฌ š”๊ตฌ๊ฐ€ ๋ณตžก•œ ๊ฒฝ
šฐ—๋Š” •ด๋‹น ๊ธฐ๋Šฅ„ ˆ˜–‰•˜๋Š” ๋ชจ๋ฅธ๋ชจ —ญ‹œ ๋งคšฐ ๋ณตžก•˜๊ฒŒ ๊ตฌ„๋  ˆ˜ ๋ฐ–— —†Šต๋‹ˆ
๋‹ค. ด œ๋Š” '“ธ๋งŒ•˜๋‹ค'๊ณ  ƒ๊ฐ๋˜๋Š” ”„๋กœ๊ทธ๋žจ„ ๋‘˜๋Ÿฌ๋ณด๋ฉด ๊ทธ ๋ฉน˜๊ฐ€ –ด๋งˆ–ด๋งˆ•˜๊ฒŒ 
๋น„๋Œ€•ด ธžˆŒ„ ๋ณผ ˆ˜ žˆŠต๋‹ˆ๋‹ค. ๋”ฐ๋ผ„œ ด๋Ÿฌ•œ ”„๋กœ๊ทธ๋žจด –ผ๋งŒผ ๋น ๋ฅด๊ฒŒ  ‹ค–‰
๋˜๋Š”๊ฐ€๋„ ค‘š”•˜๊ฒ ง€๋งŒ, –ผ๋งŒผ ๋นจ๋ฆฌ ด๋Ÿฌ•œ ”„๋กœ๊ทธ๋žจ„ ๋งŒ๋“ค ˆ˜ žˆ๋А๋ƒ—  ๋Œ€•œ 
๊ฒƒ๋„ ƒ๋‹น•œ ๊ด€‹ฌ˜ ๋Œ€ƒด ๋˜๊ณ   žˆŠต๋‹ˆ๋‹ค. —ฌ๋Ÿฌ๋ถ„€ ๊ฐœ๋ฐœ•˜๋Š”๋ฐ 6๊ฐœ›”ด  ๊ธ๋ฆฌ
๊ณ , ‹ค–‰•˜๋Š”๋ฐ 3๋ถ„ด ๊ธ๋ฆฌ๋Š” ๊ฐœ๋ฐœ ™˜๊ฒฝ๊ณผ, ๊ฐœ๋ฐœ•˜๋Š”๋ฐ 3๊ฐœ›”ด ๊ธ๋ฆฌ๊ณ  ‹ค–‰•˜๋Š”
๋ฐ 6๋ถ„ด ๊ธ๋ฆฌ๋Š” ๊ฐœ๋ฐœ ™˜๊ฒฝด žˆ๋‹ค๋ฉด, –ด๋А ชฝ„ „ ƒ•˜๊ฒ Šต๋‹ˆ๊นŒ? •„๋งˆ ๋Œ€๋ถ€๋ถ„˜ 
๊ฒฝšฐ ›„ž๋ฅผ „ ƒ•  ๊ฒƒž…๋‹ˆ๋‹ค. ผ๋‹จ ๋น ๋ฅธ ‹œ๊ฐ„ •ˆ— ”„๋กœ๊ทธ๋žจ˜ ๊ฐœ๋ฐœ„ ๋๋‚ด ๋†“
œผ๋ฉด, ๋‚จ๋Š” ‹œ๊ฐ„€ ”„๋กœ๊ทธ๋žจ˜ ˆ˜–‰ †๋„ –ฅƒ„ œ„•ด ถฉ๋ถ„žˆ • ˜ˆ•  ˆ˜ žˆ๊ธฐ ๋•Œ
๋ฌธž…๋‹ˆ๋‹ค.

Smalltalk๊ฐ€ ๋ฐ”๋กœ  ๊ทธ๋Ÿฌ•œ ‹œŠค…œž…๋‹ˆ๋‹ค.  ๋ถ„๋ช…žˆ ๋ช‡  „ •ˆ  ๋˜๋Š” ๋ฐ˜๋ณต  ˆ˜–‰๋ฌธ
(loop)˜ ˆ˜–‰ ‹œ๊ฐ„„ ธก ••˜๋ฉด Smalltalk๋Š”  ๋„๋ฆฌ “ฐด๋Š” ๋‹ค๋ฅธ –ธ–ด(C,  Object 
Pascal ๋“)๋“ค๋ณด๋‹ค ๋А๋ฆฐ ๊ฒƒ€ ‚ฌ‹คž…๋‹ˆ๋‹ค.  ๊ทธ๋Ÿฌ๋‚˜ ด๊ฒƒ€ Smalltalk๊ฐ€  œ๊ณต•˜๋Š” 
ƒ‚ฐ„๊ณผ œต†ต„„ ƒ๊ฐ•˜๋ฉด ถฉ๋ถ„žˆ ฌ„๋˜–ดˆ ˆ˜ žˆ๋‹ค๊ณ  ƒ๊ฐ•ฉ๋‹ˆ๋‹ค. Java  –ธ
–ด ๋˜•œ ๊ฒฐฝ” C –ธ–ด™€ ๊ฐ™€  †๋„๋ฅผ ๋‚ด๊ธฐ๋Š” –ด๋ ตŠต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Java๊ฐ€  ๊ฐ€ง€๊ณ  
žˆ๋Š” Šน„๋“ค€ ถฉ๋ถ„žˆ ๋งŽ€ ‚ฌ๋žŒ๋“คด Java— ๋น  ธ๋“ค๋„๋ก ๋งŒ๋“ค๊ณ  žˆŠต๋‹ˆ๋‹ค.
Smalltalk๋Š” ฐ ‹œŠค…œ„ „ค๊ณ„•  ๋•Œ „๊ฐ€๋ฅผ ๋ฐœœ˜•ฉ๋‹ˆ๋‹ค. ๊ฐฒดง€–ฅ  Œจ๋Ÿฌ๋‹คž„ด๋ผ
๋Š” ๊ฒƒด ›๋ž˜๋Š” ๊ฐ„๋‹จ•œ ๋ฌธ œ๋ฅผ •ด๊ฒฐ•˜๊ธฐ๋ณด๋‹ค๋Š” ฐ ‹œŠค…œ„ –ด๋–ป๊ฒŒ •˜๋ฉด ‰ฝ๊ฒŒ „ค
๊ณ„•˜๊ณ  ๋งŒ๋“ค ˆ˜ žˆ๋Š”๊ฐ€— ˆ „ ๋งžถ”—ˆ๊ธฐ ๋•Œ๋ฌธž…๋‹ˆ๋‹ค. C—„œ๋Š” ๋‘–ด „๋กœ  ๋๋‚  
”„๋กœ๊ทธ๋žจ„, C++˜ ๊ฐˆ๋ž˜(class)๋ฅผ ‚ฌšฉ•˜—ฌ —ด „๋กœ งฐ๋‹ค๊ณ  •ด„œ, C++ –ธ–ด๊ฐ€  C
๋ณด๋‹ค ๋ชป•˜๋‹ค๋Š” ‚ฌ๋žŒ€ —†„ ๊ฒƒž…๋‹ˆ๋‹ค. ๋งˆฐฌ๊ฐ€ง€๋กœ, Smalltalk –ธ–ด๋Š” ฐ  ‹œŠค…œ
„ „ค๊ณ„•˜๊ณ  ๊ฐœ๋ฐœ•˜๋Š”๋ฐ ๋”š ๋” ๋งŽ€ ž˜„ ๋‚˜ƒ€๋ƒ…๋‹ˆ๋‹ค. ด๋Š” ๊ฐฒดง€–ฅ Œจ๋Ÿฌ๋‹คž„
„ ๋”ฐ๋ฅด๋Š” ๋ฐ„œ ˜ค๋Š” ๋ช…™••œ „ค๊ณ„ ๋•Œ๋ฌธ— ๊ฐ€๋Šฅ•œ ๊ฒƒž…๋‹ˆ๋‹ค.

Dolphin Smalltalk™€ Delhi—„œ ›†Œˆ˜๊ฐ€ 200๋งŒ๊ฐœธ ๋ฐฐ—ด ๋ณ€ˆ˜—„œ –ด๋–ค ๊ฐ’„ ฐพ
•„๋‚ด๋Š” ‹ค—˜„ –ˆŠต๋‹ˆ๋‹ค.

<๋ฐ”ƒ•๊ธ€ 1> 200๋งŒ๊ฐœ˜ ๋ฐฐ—ด—„œ Šน • ›†Œ๋ฅผ ฐพ๋Š” Delphi ”„๋กœ๊ทธ๋žจ
----------------------------------------------------------
var
  Data: array[1 .. 2000000] of Integer;

procedure TForm1.Button1Click(Sender: TObject);
var
  i, Key: Integer;
begin
  // ๋ฐฐ—ด ˆ๊ธฐ™”•˜๊ธฐ
  for i := 1 to High( Data ) do
    Data[i] := i * 2;

  Key := 6500000;       // กดžฌ•˜ง€ •Š๋Š” ๊ฐ’.

  for i := 1 to High( Data ) do
  begin
    if Data[i] = key then
    begin
      ShowMessage( IntToStr(i) );
      Exit;
    end;
  end;
  ShowMessage('๋ชป ฐพŒ');
-----------------------------------------------------------

<๋ฐ”ƒ•๊ธ€ 2> 200๋งŒ๊ฐœ˜ ๋ฐฐ—ด—„œ Šน • ›†Œ๋ฅผ ฐพ๋Š” Smalltalk ”„๋กœ๊ทธ๋žจ
-----------------------------------------------------------
| data key |

"๋ฐฐ—ด ˆ๊ธฐ™”•˜๊ธฐ"
data := Array new: 2000000.
1 to: data size do: [ :i | data at: i put: i * 2. ].

key := 6500000. "กดžฌ•˜ง€ •Š๋Š” ๊ฐ’"

1 to: data size do: [ :i |
        (data at: i) = key ifTrue: [
                ^MessageBox notify: i displayString
        ]
].
MessageBox notify: '๋ชป ฐพŒ'.  
-----------------------------------------------------------

œ„˜ ๊ฐ„๋‹จ•œ ๋ฒคน˜๋งˆฌ ‹ค—˜—„œ, Object Pascal„ ‚ฌšฉ•˜๋Š” Delphi˜ ๊ฒฝšฐ๋Š”  ‹ค
–‰•˜๋Š”๋ฐ 0.5ˆ๋„ †Œš”๋˜ง€ •Š€๋ฐ ๋น„•ด,  Smalltalk˜ ๊ฒฝšฐ๋Š” •ฝ 5ˆ˜  ‹œ๊ฐ„ด 
๊ฒฝ๊ณผ–ˆŠต๋‹ˆ๋‹ค. ด™€ ๊ฐ™ด 32๋น„Šธ˜ ™„ „•œ ๊ธฐ๊ณ„–ด๋กœ ๋ฒˆ—ญ๋˜๋Š” ๋ฒˆ—ญ˜• –ธ–ด™€  ๊ฐ
ฒดง€–ฅ –ธ–ดธ Smalltalk™€˜ ๋‹จˆœ ๋ฐ˜๋ณต๋ฌธ ‹ค–‰ „๋Šฅ€ ๋งคšฐ ฐ ฐจด๋ฅผ ๋ณด˜€Šต๋‹ˆ
๋‹ค. ด ๋น„๊ต๋ฅผ ๋ณด๊ณ  ‹ค๋ง•˜๋Š” —ฌ๋Ÿฌ๋ถ„ด ๊ณ„‹œ๋‹ค๋ฉด, —ฌ๋Ÿฌ๋ถ„ด Smalltalk—  ๋Œ€•ด„œ 
–ด๋А   •๋„  •Œ•„๊ฐˆ  ๋•Œ๊นŒง€,  ๊ทธ  ‹ค๋ง„  ž ‹œ   ‘–ด๋‘๊ธฐ๋ฅผ  ๊ถŒ•ฉ๋‹ˆ๋‹ค.   •๋ง, 
Smalltalk—๋Š” —ฌ๋Ÿฌ๋ถ„ด ง€๊ธˆ๊นŒง€ ƒ๊ฐ•˜ง€ ๋ชป–ˆ๋˜ ˆœˆ˜ ๊ฐฒดง€–ฅ˜ ›๋ฆฌ๊ฐ€ ˆ‰ฌ
๊ณ  žˆœผ๋ฉฐ, ด๊ฒƒ€ —ฌ๋Ÿฌ๋ถ„˜ ๋ฌด๋ฅธ๋ชจ ๊ฐœ๋ฐœ ฃผ๊ธฐ๋ฅผ ฌ๊ฒŒ ๋‹จถ•‹œผœ „ ๊ฒƒž…๋‹ˆ๋‹ค. ด 
๋‹จˆœ•œ ‹ค—˜ ๋•Œ๋ฌธ— Smalltalk— ๋Œ€•œ  ๊ณต๋ถ€๋ฅผ ค‘๋‹จ•˜‹ ๋‹ค๋ฉด, —ฌ๋Ÿฌ๋ถ„€ ฐ  ๊ฒƒ„
–ป„ ˆ˜ žˆ๋Š” ๊ธฐšŒ๋ฅผ žƒ๋Š” ๊ฒƒด๋ผ๊ณ ,  ๋‹ค‹œ •œ ๋ฒˆ ๋ง”€ ๋“œ๋ฆฝ๋‹ˆ๋‹ค. (๋ฌผ๋ก   •„ž๋„ 
ฒ˜Œ ด ‹ค—˜„ •ด ๋ณด๊ณ  Smalltalk˜ ๋А๋ฆฐ †๋„— ข€ ‹ค๋ง„ –ˆง€๋งŒ, Smalltalk
—๋Š” ๊ณผ—ฐ ๋‹ค๋ฅธ –ธ–ด๊ฐ€  œ๊ณต•˜ง€ ๋ชป•˜๋Š” Smalltalk๋งŒ˜ ๊ทธ ๋ฌด—‡ด ˆ–ดžˆŠต๋‹ˆ๋‹ค. 
๋ถ„๋ช…žˆ!) 

•„šธ๋Ÿฌ, œ„˜ ˜ˆ™€ ๊ฐ™ด ๊ทน๋‹จ ธ ๊ฒฝšฐ๋Š” ‹ค œ ”„๋กœ๊ทธ๋ž˜๋ฐ—„œ ๊ทนžˆ ๋“œ๋ฌธ ผด๋ผ
๋Š” ๊ฒƒ„ ฐธ๊ณ ๋กœ  ๋ง”€ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.  Smalltalk˜ †๋„  ๋•Œ๋ฌธ— ‹ค๋ง•˜‹ค  ๋ถ„ด๋ผ๋ฉด 
PowerBuilder๋ฅผ ‚ฌšฉ•˜—ฌ  œ„˜ ˜ˆ œ๋ฅผ  ๋งŒ๋“ค–ด ๋ณด‹œ๊ธฐ๋ฅผ  ๊ถŒ•ฉ๋‹ˆ๋‹ค. ๋˜•œ  ˜„žฌ 
Smalltalk๋Š” ‹ค–‰ †๋„๋ฅผ ๊ฐœ„ •˜๊ธฐ œ„•˜—ฌ ๋งŽ€ —ฐ๊ตฌ๊ฐ€ ด๋ฃจ–ดง€๊ณ  žˆ๋‹ค๋Š”  ๊ฒƒ๋„ 
ฐธ๊ณ ๋กœ ๋ง”€๋“œ๋ฆฝ๋‹ˆ๋‹ค.  –ด๋„ ‹ค–‰ †๋„˜ ๋ฌธ œ— žˆ–ด„œ Smalltalk๋Š” JAVA™€ ๊ฐ™
€ ๋ฌธ œ๋ฅผ •ˆ๊ณ  žˆ๋‹ค๊ณ  ๋ณด‹œ๋ฉด ด•ด๊ฐ€ ๋น ๋ฅผ ๊ฒƒž…๋‹ˆ๋‹ค. 


3. Smalltalk๋Š” ๋ฐฐšฐ๊ธฐ –ด๋ ต๋‹ค
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ด ๋ง€ ‹€๋ฆฐ ๋งž…๋‹ˆ๋‹ค. Smalltalk˜ –ธ–ด ๋ช…„žฒด๋Š” ๊ทธ ด๋ฆ„—„œ  ๋ง•ดฃผ๋“ฏด 
๋งคšฐ ž‘œผ๋ฉฐ, ๋”ฐ๋ผ„œ C++๋‚˜ Java–ธ–ด™€ ๊ฐ™ด –ธ–ด ๋ช…„™€ ๋ฌธ๋ฒ•ด ๋ณตžก•œ  –ธ–ด— 
๋น„•ด ตž ๊ฒƒด ๊ทนžˆ  Šต๋‹ˆ๋‹ค. ด ‚ฌ‹ค€ ๋ณ„๋กœ ๋†€๋ผšธ ๊ฒƒด —†๋Š”๋ฐ, Smalltalk 
–ธ–ด๋ฅผ „ค๊ณ„•œ Xerox‚ฌ˜ —ฐ๊ตฌ›๋“ค€ •„ด๋“คด ‰ฝ๊ฒŒ ๋ฐฐ›Œ„œ ‚ฌšฉ•  ˆ˜ žˆ๊ณ ,  ‰ฝ
๊ฒŒ ”„๋กœ๊ทธ๋ž˜๋ฐ„ งค ˆ˜ žˆ๋Š” ‹œŠค…œ„ ๊ฐœ๋ฐœ„ ›๋ž˜ ๋ชฉ‘œ๋กœ ‚ผ๊ณ  žˆ—ˆ๊ธฐ ๋•Œ๋ฌธž…๋‹ˆ
๋‹ค. ‹ค œ๋กœ Smalltalk –ธ–ด๋ฅผ ๊ณต๋ถ€•œ ง€ ๋‘ ๋‹ฌด ๋˜๋Š” ˆ๋“•™๊ต 5•™๋…„ •™ƒด —ฌ
๋ฆฌฝฅ„‹œ๋ฎฌ๋ ˆด„ฐ๋ฅผ  œž‘–ˆ๋‹ค๋Š” ‚ฌ‹คด Smalltalk  ‹œŠค…œด ๋งคšฐ ๋’ต๋‹ค๋Š” ๊ฒƒ„ 
ฆ๋ช…•ด ค๋‹ˆ๋‹ค(›”๊ฐ„ ๋งˆดฌ๋กœ†Œ”„Šธ,  •๋ณด‹œ๋Œ€).

ด๋Ÿฐ ˜ค•ด๋Š” •„๋งˆ ๋‹คŒ˜ ๋‘ ๊ฐ€ง€ ˜—ญ—„œ ๊ธฐธ•œ ๊ฒƒœผ๋กœ ƒ๊ฐ๋ฉ๋‹ˆ๋‹ค.

šฐ„ , Smalltalk –ธ–ด๋Š” ฃผ๋กœ ‚ฌšฉ๋˜๋Š”  –ธ–ด๋“ค— ๋น„•ด„œ ๋งคšฐ ๋‹ค๋ฅด๋‹ค๋Š”  ๊ฒƒž…๋‹ˆ
๋‹ค. C++๋‚˜ Java™€ ๊ฐ™ด –ธ–ด ๋ช…„™€ ๋ฌธ๋ฒ•ด ๋งคšฐ ๋ณตžก•˜—ฌ, ๊ทธ๊ฒƒ„ ตžˆ๋Š”๋ฐ ƒ
๋‹น•œ ‹œ๊ฐ„„ †Œ๋น„–ˆ๋˜ ‚ฌ๋žŒ๋“ค€ ๋ช‡ ๊ฐ€ง€๋„ •ˆ ๋˜๋Š” ๊ฐœ๋…œผ๋กœ ด๋ฃจ–ด„ Smalltalk
˜ ๊ฐ„๊ฒฐ•œ ๋ฌธ๋ฒ•—  ‘•˜๊ธฐ๊ฐ€ –ด๋ คšธ ˆ˜๋„ žˆ„ ๊ฒƒž…๋‹ˆ๋‹ค. Smalltalk –ธ–ด๋Š” "๊ฐ
ฒด—๊ฒŒ ง€‹œ๋ฅผ ๋‚ด๋ฆฌ๋ฉด, ๊ฐฒด๋Š” ๊ทธ ง€‹œ— ๋”ฐ๋ผ ๋ฐ˜‘•œ๋‹ค"๋Š” ๊ฐœ๋…„ † ๋Œ€๋กœ  ๋ฌธ๋ฒ•
„ ˜•„•ด ๋‚˜•„๊ฐ‘๋‹ˆ๋‹ค. ฆ‰ ๋‹ค๋ฅธ –ธ–ดฒ˜๋Ÿผ ๋ฌธ๋ฒ•„ ๊ทœ •ง“๋Š” ๊ฒƒด •„๋‹ˆ๋ผ,  ๊ฐฒด—
๊ฒŒ ๋ณด๋‚ด๋Š” ง€‹œ๊ฐ€ ž—ฐžˆ Smalltalk˜ ๋ฌธ๋ฒ•„ ด๋ฃจ๋Š” ๊ฒƒž…๋‹ˆ๋‹ค. ด๋Š” ก‚ฌ  ธ๊ฐ„
˜ –ธ–ด ฒด๊ณ„™€ ๋น„Šท•˜๋‹ค๊ณ  •  ˆ˜ žˆŠต๋‹ˆ๋‹ค. (๋ฌธ๋ฒ•ด ๋จผ € ƒ๊ธด ๊ฒƒด •„๋‹ˆ๋ผ ๋ง
„ •˜๋‹ค ๋ณด๋‹ˆฐ๊ธฐ„œ ๋ฌธ๋ฒ•ด ˜•„๋œ ๊ฒƒž…๋‹ˆ๋‹ค.)
๋”šด Smalltalk –ธ–ด˜ ๋ฐ”ƒ•๊ธ€(source code)„ ๋ณด๋ฉด ๋‹ค๋ฅธ –ธ–ด๋“ค๊ณผ ๊ทธ  ๋ชจ–‘ด
๋งคšฐ ๋‹ค๋ฆ„„ •Œ ˆ˜ žˆŠต๋‹ˆ๋‹ค.(<๋ฐ”ƒ•๊ธ€ 1>๊ณผ <๋ฐ”ƒ•๊ธ€ 2>๋ฅผ ๋น„๊ต•ด ๋ณด‹ญ‹œ˜ค) ๊ทธ๋Ÿฌ
๋‚˜ ๋ชจ–‘ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ— –ด๋ ต๊ฒŒ ๋ณดผ ๋ฟž…๋‹ˆ๋‹ค. ‹ค œ๋กœ Smalltalk˜ ๋ช‡ ๊ฐ€ง€ ๊ฐœ
๋…„ •Œ๊ณ  ๋‚˜๋ฉด ๋ฐ”ƒ•๊ธ€„ ๋งคšฐ ‰ฝ๊ฒŒ ฝ„ ˆ˜ žˆŠต๋‹ˆ๋‹ค.

Smalltalk๊ฐ€ –ด๋ ต๋‹ค๊ณ  ๋А๊ปดง€๋Š” ดœ  ค‘ ๊ฐ€žฅ ฐ ๋ฌธ œ๋Š” Smalltalk๊ฐ€ ๊ฐ€ง€๊ณ   žˆ
๋Š” ๋ฐฉ๋Œ€•˜๋ฉด„œ๋„ ™•žฅ„ด ๋›–ด๋‚œ ๊ฐˆ๋ž˜ ๋‹ค๋ฐœ(class library)๋•Œ๋ฌธด •„๋‹๊นŒ  •ฉ๋‹ˆ
๋‹ค. Smalltalk๋กœ “ธ๋งŒ•œ ”„๋กœ๊ทธ๋žจ„ ๋งŒ๋“ค๊ธฐ œ„•ด„œ๋Š” •„š”๋กœ •˜๋Š” ๊ธฐ๋Šฅด ˆ˜๋ฐ๊ฐœ
๊ฐ€ ๋„˜๋Š” ๋ฐฉ๋Œ€•œ ๊ฐˆ๋ž˜ ค‘—„œ ๋„๋Œ€ฒด –ด๋–ค ๊ฐˆ๋ž˜— †•ด žˆ๋Š”ง€— ๋Œ€•ด„œ ๊ฟฐ๊ณ  žˆ
–ด•ผ •˜๋Š”๋ฐ, ด๊ฒƒด ผ๋ฐ˜ œผ๋กœ ”„๋กœ๊ทธ๋ž˜๋ฐ˜ ˆ๋ณดž๊ฐ€  •๋ง ๋„˜๊ธฐ ž˜๋“   'žฅ๋ฒฝ'
ด ๋˜–ด๋ฒ„๋ฆฌ๋Š” ๊ฒƒž…๋‹ˆ๋‹ค. Smalltalk๋ฅผ ‚ฌšฉ•ด„œ  € œ ๋ช…•œ "Hello, world!"๋ฅผ ถœ
๋ ฅ•˜๋Š” ™„ „•œ ”„๋กœ๊ทธ๋žจ„ ๋งŒ๋“ค๊ณ  ๊ทธ๊ฒƒ„ ด•ด•˜๋ ค๋ฉด –ด๋А  •๋„˜ ‹œ๊ฐ„ด •„š”•ฉ
๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Smalltalk—„œ Hello World ”„๋กœ๊ทธ๋žจ„ ๋งŒ๋“ค ˆ˜ žˆ๋‹ค๋ฉด, ๊ทธ ๋‹คŒ€ 
 •๋ง ‰ฝ๊ฒŒ ‰ฝ๊ฒŒ ๋„˜–ด๊ฐˆ ˆ˜ žˆŠต๋‹ˆ๋‹ค. C –ธ–ด˜ ๊ฒฝšฐ, Hello World ”„๋กœ๊ทธ๋žจ„ ๋งŒ
๋“ค๊ธฐ๋Š” ‰ฝง€๋งŒ, ด๊ฒƒ๋งŒ ๊ฐ€ง€๊ณ ๋Š” C –ธ–ด—„œ ๊ณต๋ถ€•ด•ผ •  ๊ธฐ๋Šฅ ค‘— 10%๋„ •ˆ ๋˜
๋Š” ๋‚ดšฉ๋ฐ–— •Œ ˆ˜ —†Šต๋‹ˆ๋‹ค. Smalltalk—„œ Hello World ”„๋กœ๊ทธ๋žจ„ ๋งŒ๋“ค๊ณ   ๊ทธ
๊ฒƒ„ ด•ด–ˆ๋‹ค๋ฉด, Smalltalk –ธ–ด˜ 80% ดƒ„  •๋ณต–ˆ๋‹ค๊ณ  •ด๋„ ๊ณผ–ธด •„๋‹ ๊ฒƒ
ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๊ฐˆ๋ž˜ ๋‹ค๋ฐœ„  ตžˆ๋Š” ๊ฒƒด  –ด๋ ค›Œ„œ Smalltalk๊ฐ€  –ด๋ ต๋‹ค๋ฉด, ด๋Š”  C++, 
Java ๊ทธ๋ฆฌ๊ณ  ‰ฝ๋‹ค๊ณ  —ฌ๊ฒจง€๋Š” Delphi๋‚˜ Visual Basic„ ๊ณต๋ถ€•˜๋Š” ๊ฒƒ —ญ‹œ –ด๋ ต๋‹ค
๊ณ  ๋ด•ผ•ฉ๋‹ˆ๋‹ค. Visual C++๋ฅผ ๊ฐ€ง€๊ณ   ”„๋กœ๊ทธ๋žจ„ งœ๋ ค๋ฉด  –ด๋„ MFC(Microsoft 
Foundation Classes)๋ผ๋Š”  ๊ฐˆ๋ž˜ ๋‹ค๋ฐœ„  ต˜€•ผ  •˜๊ณ , Delphi˜  ๊ฒฝšฐ—๋Š” VCL 
(Visual Component Library)„ ๊ณต๋ถ€•ด•ผ •˜๋ฉฐ, Java˜ ๊ฒฝšฐ๋„ค๋Š” JavaBeans๋‚˜  —ฌ
๋Ÿฌ ๊ฐ€ง€˜ ๊พธ๋Ÿฌ๋ฏธ(package)— ๋Œ€•ด„œ –ด๋А  •๋„˜ ง€‹ด •„š”•ฉ๋‹ˆ๋‹ค.

๋งˆง€๋ง‰œผ๋กœ, Smalltalk ‹œŠค…œ€ ๋Œ€™”‹ž…๋‹ˆ๋‹ค. ˜ˆ „— ๋ฒ ด‹„ ๊ณต๋ถ€•ด ๋ณธ ๋ถ„ด
๋ผ๋ฉด ๋Œ€™”‹ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•ด –ผ๋งˆ๋‚˜ ‰ฌšดง€๋ฅผ •Œ ๊ฒƒž…๋‹ˆ๋‹ค. Smalltalk—„œ๋Š” ๋ช…๋ น–ด
๋ฅผ •œ „ ๋‹จœ„๋กœ ‹ค–‰‹œผœ๋ณผ ˆ˜ žˆœผ๋ฉฐ, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”๋กœ •Œ ˆ˜ žˆŠต๋‹ˆ๋‹ค. ปด“จ„™€ ๋Œ€™”•˜๋“ฏด –ด๋–ค ผ„ ฒ˜๋ฆฌ•  ˆ˜ žˆ๊ธฐ ๋•Œ๋ฌธ—, ตžˆ๊ธฐ๊ฐ€ ๋งคšฐ ‰ฝŠต๋‹ˆ๋‹ค. ๊ทœ •
๋œ ๋ฌธ๋ฒ•— ˜•ด ๋ฐ”ƒ•๊ธ€„ “ฐ๊ณ  ๊ทธ๊ฒƒ„ ๋ฒˆ—ญ(compile)•˜—ฌ ‹ค–‰•ด•ผ๋งŒ ๊ฒฐ๊ณผ๋ฅผ  –ป
„ ˆ˜ žˆ๋Š” –ธ–ด๋“ค— ๋น„•ด„œ, Smalltalk˜ ๊ฒฝšฐ—๋Š” ๋Œ€™”‹œผ๋กœ ๋ช…๋ น–ด๋ฅผ ˆ˜–‰•  
ˆ˜ žˆ๋Š” –ธ–ดด๊ธฐ ๋•Œ๋ฌธ— Šนžˆ ˆ๋ณดž๋“คด  ๋ฐฐšฐ๊ธฐ๊ฐ€ ๋งคšฐ ‰ฝ๋‹ค๊ณ  •  ˆ˜  žˆŠต๋‹ˆ
๋‹ค. •ž„œ ๋ง”€๋“œ๋ ธง€๋งŒ, Smalltalk˜ ๋ชจ† ๋Š” "–ด๋ฆฐ•„ด๋“ค๋„ ‰ฝ๊ฒŒ ”„๊ณ ๊ทธ๋žจ„  งค 
ˆ˜ žˆ๋Š” ™˜๊ฒฝ„ ๋งŒ๋“คž"๋Š” ๊ฒƒž…๋‹ˆ๋‹ค. (๋ฌผ๋ก  ๊ทธ '–ด๋ฆฐ•„ด'๊ฐ€ ˜–ด๊ถŒ—  ตˆ™•ด•ผ 
•œ๋‹ค๋Š” ๊ฒƒด ๋งˆŒด •„”•๋‹ˆ๋‹ค๋งŒ...)

ด๋Ÿฐ ๊ฒƒ๋“ค„ ๊ณต๋ถ€•˜๋ฉด„œ ๋™‹œ— ๋ณตžก•œ –ธ–ด ๋ช…„ธ๋ฅผ ๊ณต๋ถ€•˜๋Š” ๊ฒƒ๊ณผ, ๋‹จˆœ•œ –ธ–ด 
๋ช…„™€ ๋Œ€™”‹ ๊ฐœ๋ฐœ๋ฅผ ง€›•˜๋Š” Smalltalk๋ฅผ ๊ณต๋ถ€•˜๋Š” ๊ฒƒ ค‘—, ๊ณผ—ฐ –ด๋–ค  ๊ฒƒด 
๋” –ด๋ ค›Œ ๋ณดผ๊นŒš”? ๊ทธ๊ฒƒ€ ๋…ž —ฌ๋Ÿฌ๋ถ„˜ Œ๋‹จ— ๋งž๊น๋‹ˆ๋‹ค.


4. Smalltalk€ ๋น„‹ธ๋‹ค
~~~~~~~~~~~~~~~~~~~~~
ด๋Š” •„ฃผ ๊ฐ„๋‹จ•˜๊ฒŒ ˜ˆ๋ฅผ ๋“ค ˆ˜ žˆŠต๋‹ˆ๋‹ค. ๊ณต๊ฐœšฉ Smalltalk ‹œŠค…œด ๋งŽด ๋‚˜™€ 
žˆœผ๋ฉฐ, Dolphin Smalltalk˜ ๊ฒฝšฐ—๋„ ƒšฉ  œ’ˆ๊ณผ ๊ณต๊ฐœšฉ  œ’ˆ„ ๊ฐ™ด  ๋‚ด๋†“๊ณ  
žˆŠต๋‹ˆ๋‹ค. ๋˜•œ Dolphin Smalltalk ƒšฉŒ˜ ๊ฒฝšฐ๋Š” •ฝ $50  •๋„˜ ๊ฐ€๊ฒฉœผ๋กœ  ถฉ
๋ถ„žˆ ๊ตฌž…•  ˆ˜ žˆœผ๋ฉฐ, ๋ฐด„ฐ๋ฒ ดŠค๋‚˜ ‘šฉ ”„๋กœ๊ทธ๋žจ ๋ฐฐฌ ๋“˜ ๊ธฐ๋Šฅ„ ฌ•จ•œ 
๊พธ๋Ÿฌ๋ฏธ ˜•ƒœ๋กœ Œ๋งค๋˜๋Š”  œ’ˆ˜ ๊ฒฝšฐ $219  •๋„˜ ๊ฐ€๊ฒฉด๋ฉด ถฉ๋ถ„žˆ ๊ตฌ•  ˆ˜ žˆŠต
๋‹ˆ๋‹ค. Smalltalk๊ฐ€ ๋น„Œ‰๋‹ˆ๊นŒ?


5. Smalltalk๋Š” ฌ๋‹ค
~~~~~~~~~~~~~~~~~~~
Smalltalk๋ผ๋Š” ด๋ฆ„ žฒด๊ฐ€ ด ๋งด ‚ฌ‹คด •„๋‹˜„ ฆ๋ช…•ด ค๋‹ˆ๋‹ค.  Smalltalk๋Š” 
ž‘€ ‹œŠค…œž…๋‹ˆ๋‹ค. ด๋Š” žฅ ด ๋  ˆ˜๋„ žˆ๊ณ  ๋™‹œ— ๋‹จ ด ๋  ˆ˜๋„ žˆŠต๋‹ˆ๋‹ค.

ANSI X3J20‘œค€— ˜•ด ๊ทœ •๋œ ๊ฐˆ๋ž˜ ”ป„(class hierarchy)€  ”žˆ ๋ณผ ˆ˜ žˆ๋Š” 
๋‹ค๋ฅธ ๊ฐฒด ง€–ฅ –ธ–ด˜ ๊ฐˆ๋ž˜ ๋‹ค๋ฐœ๋ณด๋‹ค ๋” ๋งŽ€ ๊ฒƒ„ ๋‹ด๊ณ  žˆŠต๋‹ˆ๋‹ค. C++˜ ๊ฒฝšฐ 
ANSI—„œ ‘œค€™”๋œ ๊ฐˆ๋ž˜ ๋‹ค๋ฐœ€ ๊ธฐ๋ณธ ธ ๊ฒƒ๋“ค ๋ฟด๊ณ  ๋Œ€๋ถ€๋ถ„ C++๋ฅผ ๋งŒ๋“ค–ด ŒŒ๋Š” 
šŒ‚ฌ๋งˆ๋‹ค ๋…ž ธ ๊ฐˆ๋ž˜ ๋‹ค๋ฐœ„ ๋งŒ๋“ค–ด ‚ฌšฉ•˜๊ณ  žˆœผ๋ฉฐ, ๋”ฐ๋ผ„œ ด๋Š” ”žˆ ๋ง•˜
๋Š” ๊ฒƒฒ˜๋Ÿผ ˜ธ™˜„ ข‹€ C++๋ฅผ ž๊พธ ˜ธ™˜„ —†๋Š” –ธ–ด๋กœ ๋งŒ๋“œ๋Š” š”ธด ๋˜๊ณ  žˆŠต
๋‹ˆ๋‹ค(Visual C++˜ MFC™€ Borland C++˜ OWL„ ƒ๊ฐ•ด ๋ด…‹œ๋‹ค.) ANSI ‘œค€„  ๋”ฐ
๋ฅด๋Š” Smalltalk˜๊ฒฝšฐ๋Š” ๊ธฐ๋ณธ œผ๋กœ ๋ฐฉ๋Œ€•œ –‘˜ ๊ฐˆ๋ž˜ ๋‹ค๋ฐœ„ ๊ฐ€ง€๊ณ  žˆง€๋งŒ, ด
๋Š” ด๋ฏธ ‘œค€™” ๋œ ๊ฒƒด๊ธฐ ๋•Œ๋ฌธ— Smalltalk˜ ˜ธ™˜„„ ๋†’—ฌฃผ๋Š” ด‰๋งค œ๊ฐ€ ๋ฉ๋‹ˆ
๋‹ค.

ด๋Ÿฌ•œ ๋ฐฉ๋Œ€•œ ๊ฐˆ๋ž˜ ๋‹ค๋ฐœด ‘œค€™”๋จœผ๋กœจ ƒ๊ฒจ๋‚˜๋Š” ๋‹จ œผ๋กœ๋Š” Smalltalk๋กœ ”„
๋กœ๊ทธ๋žจ„ ๊ฐœ๋ฐœ•  ๋•Œ, Smalltalk ™˜๊ฒฝ žฒด๊ฐ€ ๋ฐฉ๋Œ€•ดˆ ˆ˜ žˆ๋‹ค๋Š” ๊ฒƒ„ ๋“ค ˆ˜ žˆ
Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ‹ค œ ‘šฉ ”„๋กœ๊ทธ๋žจ„ ๋ฐฐฌ•  ๋•Œ—๋Š” ๊ฐœ๋ฐœ ๋‹จ๊ณ„—„œ๋ณด๋‹ค๋Š” ›”ฌ ž‘
€ ฌ๊ธฐ๋กœ ๋ฐฐฌ๊ฐ€ ๊ฐ€๋Šฅ•˜ง€๋งŒ, ˜„žฌ˜  Smalltalk ๊ตฌ˜„ ๊ธฐˆ ๋กœ๋Š” •„ง๊นŒง€  ๋‹ค๋ฅธ 
–ธ–ด๋กœ ๋งŒ๋“ค–ด„ ”„๋กœ๊ทธ๋žจ๋“ค๋ณด๋‹ค๋Š” ๊ธฐ–ต ๊ณต๊ฐ„˜ †Œ๋น„๊ฐ€ ฌ๋‹ค๋Š” ๋‹จ „ ๊ฐ€ง€๊ณ  žˆ
Šต๋‹ˆ๋‹ค. 

๊ทธ๋Ÿฌ๋‚˜ Dolphin Smalltalk˜ ๊ฒฝšฐ๋Š” ๋ณด†ต ๊ตฌ˜„๋˜๋Š” Smalltalk˜ Šน„๋ณด๋‹ค •œ  ๋‹จ
๊ณ„ ๋ฐœ „๋œ ๊ธฐˆ „ ‚ฌšฉ•จœผ๋กœจ, ‹ค–‰ ŒŒผด ฐจง€•˜๋Š” ๊ธฐ–ต ๊ณต๊ฐ„˜  œ œจ„ ๋งค
šฐ ๋‚ฎ๊ฒŒ •  ˆ˜ žˆ—ˆœผ๋ฉฐ, ด๋Š” Dolphin Smalltalk๊ฐ€ ๋‹ค๋ฅธ Smalltalk— ๋น„•ด„œ ›”
๋“•œ „๋Šฅ„ ๋ณดžฅ•  ˆ˜ žˆ๋„๋ก •ด ค€๋‹ค๊ณ  •ฉ๋‹ˆ๋‹ค. 

๊ธฐ–ต๊ณต๊ฐ„ †Œ๋น„๊ฐ€ ‹ฌ•˜๋‹ค๋Š” ‰๊ฐ€— ๋Œ€•ด„œ, Delphi๋‚˜ Visual Basic˜ ๊ฒฝšฐ™€ ๋น„๊ต
•ด ๋ณด‹ญ‹œ˜ค. ž› ธก •๊ธฐ๋ฅผ  ผœ ๋†“€ ƒƒœ—„œ Delphi  4.0„ ‹ค–‰•  ๊ฒฝšฐ, •ฝ 
10%  „›„˜ ž›„ †Œ๋น„•˜๋ฉฐ, ด๋Š” ๊ฐœ๋ฐœ ”„๋กœ๊ทธ๋žจด ปคง€๋ฉด ปคˆˆ˜๋ก ๋”š ๋” ๋งŽ
ด †Œ๋น„•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. (”„๋กœ Šธ— ๋”ฐ๋ผ„œ๋Š” •ฝ 30%˜ ž›„ †Œ๋น„•  ๋•Œ๋„ žˆ—ˆŠต
๋‹ˆ๋‹ค.) ๊ทธ๋Ÿฌ๋‚˜ Dolphin Smalltalk˜ ๊ฒฝšฐ—๋Š” ๊ธฐ๋ณธ œผ๋กœ •ฝ 3%˜ ž›„ †Œ๋น„•ฉ
๋‹ˆ๋‹ค. ด๋Š” ด๋ฏธ ๋ชจ๋“  ๊ฐˆ๋ž˜ ๋‹ค๋ฐœ๊ณผ ๊ฐฒด๋“คด ๋‹ค ƒ„๋œ ƒƒœ—„œ ฐจง€•˜๋Š” ๊ธฐ–ต
๊ณต๊ฐ„˜  œ œจž…๋‹ˆ๋‹ค. (๋ณด†ต ๋ฐฐฌ๋˜๋Š” Dolphin Smalltalk—๋Š” •ฝ 540๊ฐœ˜ ๊ฐˆ๋ž˜™€ 
45,000—ฌ๊ฐœ˜ ๊ฐฒด๊ฐ€ ๋“ค–ดžˆŠต๋‹ˆ๋‹ค.)

–ดฐŒ๋ณด๋ฉด Smalltalk๋Š” ฝ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋˜•œ ž‘Šต๋‹ˆ๋‹ค. ฐ ๊ฒƒด ๋ฌดกฐ๊ด ๋‹จ ด ๋  
ˆ˜๋งŒ€ —†๋Š” ๊ฒƒž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ,  •๋ง Smalltalk๊ฐ€ ฝ๋‹ˆ๊นŒ? ๊ทธ๋Ÿฐง€ ๊ทธ๋ ‡ง€ •Š€ง€
๋Š” —ฌ๋Ÿฌ๋ถ„ด ง ‘ Smalltalk๋ฅผ ๊ณšฐ•ด ๋ณด๋ฉด •Œ ˆ˜ žˆ„ ๊ฒƒž…๋‹ˆ๋‹ค.


6. Smalltalk๋Š” —ฐ๊ตฌšฉ –ธ–ดด๋‹ค
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
•„๋งˆ ด ๋ฌธ œ๋Š” Smalltalk –ธ–ด๊ฐ€  ๊ฐœ๋ฐœ๋œ ๊ณณด Xerox —ฐ๊ตฌ†Œด๋ฉฐ, ๋”ฐ๋ผ„œ  ƒšฉ 
๋ฒˆ—ญ๊ธฐ ๊ฐœ๋ฐœ šŒ‚ฌ๋“คด ๋‚ด๋†“๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ๋‚ฎ€ ‹ค–‰ †๋„ ๋•Œ๋ฌธ— ๊ธฐธ•œ  ๊ฒƒด๋ผ๊ณ  
ƒ๊ฐ•ฉ๋‹ˆ๋‹ค. ”žˆ Delphi๋‚˜ Visual Basic, C++ ๋“œผ๋กœ Windows šฉ˜ ‘šฉ ”„๋กœ๊ทธ
๋žจ„ ๋งŒ๋“ค๋ ค๊ณ  •  ๋•Œ ๋งคšฐ ๋†’€ ‹œŠค…œ ‚ฌ–‘ด •„š”•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜  Smalltalk๋Š” 
๊ทธ๋ ‡ง€ •Š๋‹ค๊ณ  •ž„œ๋„ –ธ๊ธ‰•œ ๋ฐ” žˆŠต๋‹ˆ๋‹ค. ๋˜•œ Smalltalk๊ฐ€ ๊ฐœ๋ฐœ๋  ๋•Œ  ›๋ž˜๋ถ€
„‚ฌšฉž   ธ„Ž˜ดŠค๋ฅผ ƒ„•˜๋Š”   ๋ฐฉ๋ฒ•ด  ๋งˆ๋ จ๋˜–ด   žˆ—ˆœผ๋ฉฐ,  ˜ˆ „—๋Š” 
Smalltalk๋ฅผ šด˜ฒด๊ณ„๋กœ “ฐ๋Š” ปด“จ„ฐ๋„ žˆ—ˆŠต๋‹ˆ๋‹ค. ๋”šด Dolphin Smalltalk˜ 
๊ฒฝšฐ—๋Š” WIN32 API๋ฅผ 90% ดƒ ง€›•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ„œ ‘šฉ ”„๋กœ๊ทธ๋žจ„ ๋งŒ๋“œ๋Š”๋ฐ๋„ 
๊ฒฐฝ” ๋‹ค๋ฅธ ๊ฐœ๋ฐœ ™˜๊ฒฝ— ๋น„•ด„œ ๋’ค๋–จ–ดง€ง€ •ŠŠต๋‹ˆ๋‹ค.


7. š”•ฝ
~~~~~~~
Smalltalk, Šนžˆ Dolphin Smalltalk๋Š” ๋‹คŒ„ ง€›•ฉ๋‹ˆ๋‹ค.

* Dolphin Smalltalk๋Š” •™Šตด๋‚˜ ‹ค œ  ‘šฉ ”„๋กœ๊ทธ๋žจ„ ๊ฐœ๋ฐœ•  ˆ˜ žˆ๋Š”  ๊ณต๊ฐœšฉ 
  Smalltalk๋ฅผ ๋ฐฐฌ•ฉ๋‹ˆ๋‹ค. ด œ๋Š” ๊ฐœ๋ฐœ  ™˜๊ฒฝ˜ ๊ตฌž… ๊ฐ€๊ฒฉ ๋•Œ๋ฌธ— ๋ง„ด๋Š”  ผ
  ด —†„ ๊ฒƒž…๋‹ˆ๋‹ค.
* ƒ๋Œ€ œผ๋กœ ž‘€ Smalltalk˜ ๊ฐœ๋ฐœ  ™˜๊ฒฝ€ ๋‚ฎ€ ‚ฌ–‘˜ ปด“จ„—„œ๋„  ถฉ๋ถ„žˆ
  ‘šฉ ”„๋กœ๊ทธ๋žจ„ ๊ฐœ๋ฐœ•  ˆ˜ žˆ๋„๋ก •  ˆ˜ žˆ„ ๊ฒƒž…๋‹ˆ๋‹ค.
* ANSI X3J20—„œ Smalltalk˜ ‘œค€„  ••˜๊ณ  žˆœผ๋ฉฐ, Smalltalk๋Š” C++™€ ๋”๋ถˆ–ด 
  ‚ฐ—… ‘œค€ด ๋˜–ด๊ฐ€๊ณ  žˆŠต๋‹ˆ๋‹ค.
* Dolphin Smalltalk—„œ   œ๊ณต•˜๋Š” '3๊ณ„ธต ‘šฉ  ”„๋กœ๊ทธ๋žจ ๋ชจ˜•'(three  tiered 
  application framework)€ ”„๋กœ๊ทธ๋žจ„ ๋งคšฐ œต†ต„žˆ๊ฒŒ ๋งŒ๋“ค–ด ค๋‹ˆ๋‹ค.
* Dolphin   Smalltalk๋Š” Windows  ‹œŠค…œ˜ ๋ชจ๋“    ž›„ ‚ฌšฉ•   ˆ˜ žˆœผ๋ฉฐ, 
  Windows šด˜ ฒด๊ณ„˜ ง€›„ ๋ฐ›„  ˆ˜ žˆŠต๋‹ˆ๋‹ค. ด๋Š” WIN32 API˜ ‚ฌšฉ„ ๋ณด
  žฅ•ดฃผ๋ฉฐ, ๋”ฐ๋ผ„œ WIndows ‘šฉ ”„๋กœ๊ทธ๋žจ˜ ๊ฐœ๋ฐœ„ ‰ฝ๊ฒŒ •ด ค๋‹ˆ๋‹ค.

ด œ Smalltalk๋ฅผ •œ ๋ฒˆ ๊ณต๋ถ€•ด ๋ณด‹ญ‹œ˜ค. ž‘๊ฒŒ๋Š” —ฌ๋Ÿฌ๋ถ„˜ ๊ฐฒดง€–ฅ Œจ๋Ÿฌ๋‹คž„„ 
ตžˆ๋Š” ๋„๊ตฌ๋กœจ, ฌ๊ฒŒ๋Š” ‹ค œ ”„๋กœ Šธ๋ฅผ ๊ฐœ๋ฐœ•  ˆ˜ žˆ๋Š” ๋„๊ตฌ๋กœจ,  Smalltalk
๋Š” —ฌ๋Ÿฌ๋ถ„—๊ฒŒ  ฐ ๋ชซ„  •  ๊ฒƒž…๋‹ˆ๋‹ค.  ž๋ฃŒ‹ค— ˜ฌ๋ ค„  Dolphin  Smalltalk™€ 
Dolphin Education Center๋ฅผ ๋‚ด๋ฆฌ๋ฐ›๊ณ  Smalltalk ๊ณต๋ถ€๋ฅผ ‹œž‘•ด ๋ณด‹ญ‹œ˜ค.  ๊ทธ๋ฆฌ
๊ณ  šฐ๋ฆฌ •จ๊ป˜ ๊ณต๋ถ€•ฉ‹œ๋‹ค. ๊ทธ๋ž˜„œ Smalltalk˜ ž๋ฃŒ๊ฐ€ ๋” ดƒ ๋นˆ•ฝ•˜ง€  •Š๋„๋ก 
•ฉ‹œ๋‹ค.

•„๋ฃฐ๋กœ •„ž๋Š” Smalltalk๋„ •˜๋‚˜˜ ๋„๊ตฌ๋กœ ƒ๊ฐ•ฉ๋‹ˆ๋‹ค.  €๋Š” Delphi๋ฅผ ฃผ๋กœ ‚ฌšฉ
•˜๋Š”๋ฐ, Smalltalk๋ฅผ ๊ณต๋ถ€•˜๋ฉด„œ ๋ธŒŒด๋ฅผ ๋ฐ”๋ผ๋ณด๋Š” ‹œ๊ฐด ๋ฐ”๋€Œ—ˆŠต๋‹ˆ๋‹ค. ข€ ๋”
ˆ„œžˆ๊ณ , ๊ด€๋ฆฌ•˜๊ธฐ ‰ฌšด ฝ”๋“œ๋ฅผ “ธ ˆ˜ žˆ๊ฒŒ ๋˜—ˆŠต๋‹ˆ๋‹ค. ๊ฐฒด ง€–ฅด ๋ฌด—‡ธง€, 
 •๋ง „ ••œ ๊ฐฒดง€–ฅ˜ „ˆ˜๋ฅผ ๋ง›๋ณด๊ณ  ‹ถœผ‹œ๋‹ค๋ฉด, Smalltalk๋ฅผ ๊ผญ  ๊ถŒ•ด๋“œ๋ฆฝ๋‹ˆ
๋‹ค. ๊ฐ™ด ๊ณต๋ถ€•ฉ‹œ๋‹ค.
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:03
Processing time 0.0476 sec