±ÍÇÏ´Â ¼Õ´Ô À̽ʴϴÙ
·Î±×ÀÎ
ȸ¿ø°¡ÀÔ
  
  µ¨¸¶´ç °ø½Ä ÀºÇà°èÁÂ
  ÇϳªÀºÇà 227-910235-83607
  ¿¹±ÝÁÖ ÀÌ»ó±¹(¿î¿µÁø)
ÇÁ·ÎÁ§Æ® °Ô½ÃÆÇ
ÅõÇ¥°Ô½ÃÆÇ
µ¨¸¶´ç¼Ò°³
±âÃʺÎÅÍ È°¿ë±îÁö! µ¨ÆÄÀÌ ±³À° - µ¥ºê±â¾î
ÀÚÀ¯°Ô½ÃÆÇ ÀÚÀ¯°Ô½ÃÆÇ ÀÔ´Ï´Ù.
±Û³»¿ë - ÀÚÀ¯°Ô½ÃÆÇ
 ½º¸ôÅäÅ©¸¦ ¸À¹è±â·Î¸¸ ¼³¸íÇØ º¸¾Ò½À´Ï´Ù. ^^
ÀÌ°æ¹®
(¼Õ´Ô)
2006-09-12 ¿ÀÈÄ 7:20:08
4938ȸ Á¶È¸


µî·ÏµÈ ÆÄÀÏÀÌ ¾ø½À´Ï´Ù.
SmallTalkÀÇ ¹®¹ýÀº ´ÙÀ½°ú °°½À´Ï´Ù. À̰͸¸ ¿Ü¿ö µÎ¸é µË´Ï´Ù.

¿ÀºêÁ§Æ® ¸Þ¼Òµå[: ¸Þ¼Òµå ÀÎÀÚ] <---(A)

¿À·ÎÁö À̰Źۿ¡ ¾ø½À´Ï´Ù.
±âÁ¸ÀÇ ¾ð¾îµéÀº TokenÀ» ¿¹¾à¾î, ¼ýÀÚ, ¹®ÀÚ, ±âÈ£ µîÀ¸·Î ±¸ºÐÀ» ÇÏÁö¸¸
SmallTalk¿¡¼­´Â °´Ã¼¿Í ¸Þ¼Òµå¸¸ÀÌ Á¸ÀçÇÒ »ÓÀÔ´Ï´Ù.
°£´ÜÇÑ ¿¹Á¦¸¦ ÅëÇؼ­ ÀÌÇØÇØ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.

1 print
1ÀÌ Ãâ·ÂµË´Ï´Ù.
1À̶ó´Â °´Ã¼¿¡ print¶ó´Â ¸Þ¼Òµå°¡ È£ÃâµÇ´Â °ÍÀÔ´Ï´Ù.

1 + 2 print
3ÀÌ Ãâ·ÂµË´Ï´Ù.

1 + 2 * 3 print <---- (B)
9°¡ Ãâ·ÂµË´Ï´Ù. 7ÀÌ ¾Æ´Õ´Ï´Ù.
SmallTalk¿¡¼­´Â ¿¬»êÀÚÀÇ °³³äÀÌ ¾ø½À´Ï´Ù.
´ç¿¬È÷ ¿¬»êÀÚ ¿ì¼±¼øÀ§ °³³äµµ ¾ø½À´Ï´Ù.
¿À·ÎÁö °´Ã¼¿¡ ¸Þ¼Òµå°¡ È£ÃâµÉ »ÓÀÔ´Ï´Ù.
+(´õÇϱâ) ¿Í *(°öÇϱâ) µµ ¼ýÀÚ(Integer)¶ó´Â Ŭ·¡½ºÀÇ ¸Þ¼ÒµåÀÔ´Ï´Ù.
(B)´Â ´ÙÀ½°ú °°ÀÌ Çؼ®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
( (1 add: 2) mul:3 ) print
ÀÌÇØ°¡ µÇ»ç³ª¿ä? ^^

x put: 1 print
ÀÌ°Ç x¶ó´Â °´Ã¼¿¡ put À̶ó´Â ¸Þ¼Òµå°¡ È£ÃâµÇ¸ç, ¸Þ¼ÒµåÀÇ ÀÎÀÚ´Â 1 À̶ó´Â ¶æÀÔ´Ï´Ù.
Ãâ·ÂÀº 1ÀÌ µË´Ï´Ù.

x put: 1 + 2 print
Ãâ·ÂÀº 3ÀÌ µË´Ï´Ù. ±×·±µ¥ x´Â 1ÀÇ °ªÀÌ µé¾î°¡°Ô µË´Ï´Ù.
(B)¸¦ ÀÌÇØÇϽøé À̰͵µ ÀÌÇØ°¡ ½¬¿ì½Ç °Ì´Ï´Ù.
À§ÀÇ Äڵ带 ´Ù½Ã ÀÛ¼ºÇØ º¸°Ú½À´Ï´Ù.
( (x put: 1) add: 2 ) print

ÀüÅëÀûÀÎ OOP¸¦ Áö¿øÇÏ´Â ÄÄÆÄÀÏ·¯ ¾ð¾î¿¡¼­´Â Ŭ·¡½ºÀÇ ¼±¾ð°ú Ŭ·¡½ºÀÇ ±¸Çö ¹®¹ýÀÌ µû·Î ³ª´µ¾îÁ® ÀÖ½À´Ï´Ù.
ÇÏÁö¸¸ SmallTalk´Â Ŭ·¡½ºÀÇ ¼±¾ðÁ¶Â÷ »ó±â (A)ÀÇ ¹®¹ýÀ» µû¸¨´Ï´Ù.
¾Æ·¡´Â Account¶ó´Â »õ·Î¿î Ŭ·¡½º¸¦ ¼±¾ðÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù.

Object subclass: #Account
instanceVariableNames: 'balance'

¶æÀº Ŭ·¡½º ¼±¾ðÀε¥ ¹®¹ýÀº (A)¿Í ¶È°°ÁÒ? (Çã°Æ ³î¶ø´Ù!) ^^
SmallTalk´Â ¼±¾ðºÎ¿Í ±¸ÇöºÎ¸¦ µû·Î ³ª´©´Â ¹®¹ýÀÌ ¾ø½À´Ï´Ù. (A) ¹®¹ý Çϳª·Î ´Ù ÇØ°áµË´Ï´Ù.
´ÜÁö ¿©±â¿¡¼­ ÁÖÀÇÇØ¾ß ÇÒ Á¡Àº ¸Þ¼Òµå°¡ °´Ã¼ÀÇ ¸Þ¼Òµå°¡ ¾Æ´Ñ Ŭ·¡½ºÀÇ ¸Þ¼Òµå¶ó´Â °ÍÀÔ´Ï´Ù.
(SmallTalk¿¡¼­´Â °´Ã¼³ª ¸Þ¼Òµå´Â ¼Ò¹®ÀÚ·Î, Ŭ·¡½º´Â ´ë¹®ÀÚ·Î ½ÃÀÛÇÏ´Â °Ô °ü·ÊÀ̸ç
Java¿¡¼­ ¸Þ¼Òµå¸¦ ¼Ò¹®ÀÚ·Î ½ÃÀÛÇÏ´Â °Íµµ ´Ù SmallTalk¸¦ µû¶óÇÑ °ÍÀÓ).
µû¶ó¼­ subclass, instanceVariableNames´Â Ŭ·¡½º ¸Þ¼Òµå¶ó°í ÇÕ´Ï´Ù.
(PascalÀÇ class..., C¾ð¾îÀÇ static...°ú ºñ½ÁÇÏ´Ù°í º¸¸é µÊ)

±×¸®°í, µ¨ÆÄÀÌ¿¡¼­ VCL Ŭ·¡½º ±¸Á¶°¡ ÀÖ´Â °Íó·³
SmallTalkµµ Array, Set, Dictionaries µîµî ±âº»ÀûÀΠŬ·¡½ºµéÀÌ ÀÖ½À´Ï´Ù.

ÄÄÆÄÀÏ·¯³ª ÀÎÅÍÇÁ¸®Å͸¦ °øºÎÇØ º¸½Å ºÐÀº ¾Ë°ÚÁö¸¸
ÀÌ·¯ÇÑ SmallTalkÀÇ ¹®¹ýÀ» ÀÌ¿ëÇؼ­ ¿£Áø(Translator)¸¦ ¸¸µå´Â °ÍÀÌ
¾ó¸¶³ª °£´ÜÇÑÁö ÀÌÇØ°¡ µÇ½Ç °Ì´Ï´Ù.
¹®¹ýÀÌ ¿ö³« °£´ÜÇϱ⠶§¹®¿¡ ½ºÅ©¸³Æ® ¿£ÁøÀ» ¸¸µé±â°¡ ½±´Ù´Â °ÍÀÌÁö¿ä.

ÀÌ»ó °æ¹®ÀÌÀÇ SmallTalk¿¡ ´ëÇÑ ¸À¹è±â ¼³¸íÀ̾ú½À´Ï´Ù. ^^

ps:
À§¿¡¼­ ¼³¸íÇÑ ³»¿ëÀº SmallTalkÀÇ ÀÌÇظ¦ µ½±â À§ÇØ ÀûÀº ÀÇ»çÄÚµå(pseudo code)ÀÌÁö
½ÇÁ¦ SmallTakÀÇ ÀüÅëÀûÀÎ ¹®¹ý°ú Ʋ¸± ¼ö ÀÖ½À´Ï´Ù.

Àΰ£¿¡°Ô ³Ê¹« Àͼ÷ÇØÁ® ÀÖ´Â »çÄ¢¿¬»ê¸¸Å­Àº SmallTalk¿¡¼­ ¿¹¿Ü»çÇ×À» µÎÀÚ´Â ÀÇ°ßµµ ÀÖ½À´Ï´Ù.
µû¶ó¼­ SmallTalk ÀÎÅÍÇÁ¸®Å͸¶´Ù °°Àº Äڵ忡 ´ëÇØ ÀÛµ¿ÀÌ ¾à°£¾¿ ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù.