{"id":172,"date":"2013-03-05T13:14:43","date_gmt":"2013-03-05T13:14:43","guid":{"rendered":"http:\/\/ta.onionmixer.net\/wordpress\/?p=172"},"modified":"2013-03-06T06:03:12","modified_gmt":"2013-03-06T06:03:12","slug":"smalltalk%ec%97%90%ec%84%9c-%eb%a9%94%ec%84%b8%ec%a7%80%ec%97%90-%eb%8c%80%ed%95%9c-%ec%b6%94%ea%b0%80%ec%83%9d%ea%b0%81","status":"publish","type":"post","link":"http:\/\/ta.onionmixer.net\/wordpress\/?p=172","title":{"rendered":"Smalltalk\uc5d0\uc11c \uba54\uc138\uc9c0\uc5d0 \ub300\ud55c \ucd94\uac00\uc0dd\uac01"},"content":{"rendered":"<pre>\r\nTranscript show: 'aaaa'\r\n<\/pre>\n<p>Smalltalk \uad6c\ubb38\uc778 \uc704\uc758 \uad6c\ubb38 \uc5d0\uc11c show: &#8216;aaaa&#8217; \ubd80\ubd84\uc774 \ud1b5\uc9f8\ub85c \uba54\uc138\uc9c0\uc778\ub370\ub294 \uc774\uc720\uac00 \uc788\ub294\uac83 \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<p>http:\/\/trans.onionmixer.net\/mediawiki\/index.php?title=SqueakByExample:5.8<\/p>\n<p>\uc704 \uc8fc\uc18c\uc758 \uc694\uc57d\ubd80\ubd84\uc911 \ub2e4\uc74c\uacfc\uac19\uc740 \ubd80\ubd84\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<pre>\r\n\ubaa8\ub4e0 \uac83\uc740 \uba54\uc2dc\uc9c0 \uc804\uc1a1\uc73c\ub85c \uc774\ub8e8\uc5b4\uc9d1\ub2c8\ub2e4. \uc2a4\ubab0\ud1a0\ud06c\uc5d0\uc11c\ub294 \"\uba54\uc11c\ub4dc \ud638\ucd9c\"\uc744 \ud558\uc9c0 \uc54a\uace0, \"\uba54\uc2dc\uc9c0 \uc804\uc1a1\"\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.\r\n\uba54\uc138\uc9c0\uac00 \uc804\uc1a1\ub41c\ub2e4\uc74c, \uc218\uc2e0\uc790\ub294 \uadf8 \uba54\uc2dc\uc9c0\uc5d0 \uc751\ub2f5\ud558\uae30 \uc704\ud574 \uc218\uc2e0\uc790 \uc790\uc2e0\uc758 \uba54\uc11c\ub4dc\ub97c \uc120\ud0dd\ud569\ub2c8\ub2e4.\r\n<\/pre>\n<p>\uc5b4?&#8230;&#8230;&#8230;&#8230;..\uc774\uac70 \uc774\uc0c1\ud558\ub2e4..<br \/>\n\uc800\ub294 \uc5ec\ud0dc\uae4c\uc9c0 Smalltalk\uc5d0 \ub300\ud574\uc11c \uc798\ubabb \uc0dd\uac01\ud558\uace0 \uc788\uc5c8\ub358\uac70\uac19\uc2b5\ub2c8\ub2e4&#8230;.<\/p>\n<p>Transcript\uc5d0 \uc788\ub294 show\ub77c\ub294 \uc140\ub809\ud130\ub97c \uc4f0\ub294\uac8c \uc544\ub2c8\uc5c8\ub358\uac70\ub124\uc694.<\/p>\n<p>\uadf8\ub0e5 Transcript\ub77c\ub294 \uc778\uc2a4\ud134\uc2a4 \uac1d\uccb4\uc5d0 show: &#8216;aaaa&#8217; \ub77c\ub294 \uba54\uc138\uc9c0\ub97c \ubcf4\ub0b4\ub294\uac70\uac19\uc2b5\ub2c8\ub2e4.<br \/>\nTranscript\uc5d0 show:\uac00 \uc788\ub358\uc5c6\ub358 \uc77c\ub2e8 \ub358\uc9c0\uace0 \ubcf4\ub294\uac70\uc8e0.<br \/>\n\uc5c6\uc73c\uba74 \uc5c6\ub2e4\uace0 \uc5d0\ub7ec\ub97c \ub0bc\uac70\uace0 \uc788\uc73c\uba74 \ucc3e\uc544\uc11c \ub3d9\uc791\ud560\uac70\uace0&#8230;.<\/p>\n<p>\uc774\uac8c \uc0ac\uc2e4 \ubc1c\uc0c1\uc5d0\uc11c \ud070 \ucc28\uc774\ub97c \uac00\uc838\uc624\ub294\uac8c<br \/>\n\ubcf4\ub0b4\ub294\ucabd\uc740 Transcript\uc5d0 \ub300\ud55c \uc815\ud655\ud55c \uc815\ubcf4\uc5c6\uc774 \uadf8\ub0e5 \ubcf4\ub0b4\ub294\uac70\ub780 \ub9d0\uc785\ub2c8\ub2e4.<br \/>\n\ubc1b\ub294\ucabd\uc740 \ubcf4\ub0b4\ub294\ucabd\uc758 \uba54\uc138\uc9c0\uc5d0\uc11c show\ub97c \ucd94\ucd9c\ud574\uc11c \ub0b4\ubd80\uc5d0 \ud574\ub2f9\ub418\ub294 method\uac00 \uc788\ub294\uc9c0 \ucc3e\ub294\uac70\uad6c\uc694.<\/p>\n<pre>\r\nForm1.OnClick(TObject);\r\n<\/pre>\n<p>\uc704\uc758 \uacbd\uc6b0\ucc98\ub7fc \ub300\ubd80\ubd84\uc758 \uc5b8\uc5b4\uc5d0\uc11c\ub294 \uc778\uc218\ub97c \ub123\uc744\ub54c \uadf8\uac83\uc744 \uc18c\ud654\ud558\ub294 \uac1d\uccb4\uc5d0\uc11c \uc9c0\uc6d0\ud558\ub294 \uba54\uc18c\ub4dc\ub97c \ub2e4 \uc54c\uace0\uc788\uace0<br \/>\n\uadf8\uac83\uc744 \uc815\ud655\ud558\uac8c \uc9c0\uc2dc\ud574\uc57c\ud558\ub294\ub370&#8230;<br \/>\nSmalltalk\uc5d0\uc11c\ub294 \ubcf4\ub0b4\ub294\ub188\ub3c4 \uadf8\ub0e5 \ubcf4\ub0b4\ub294\uac70\uace0.. \ubc1b\ub294\ub188\ub3c4 \uadf8\ub0e5 \ubc1b\uc544\uc11c \ub9e4\ubc88 \uadf8\ub0e5 \ucc98\ub9ac\ud558\ub294&#8230; \uadf8\ub7f0\uc2dd\uc774\ub77c\ub294\uac70\uc8e0.<\/p>\n<p>\uc0ac\uc2e4 \uc5b4\ucc28\ud53c \uc140\ub809\ud130 \uc5c6\uc73c\uba74 \ub3d9\uc791 \uc548\ud558\uace0 \uc5d0\ub7ec\ub098\ub2c8\uae50 \uc758\ubbf8\uac00 \uc5c6\ub2e4\uace0 \uc0dd\uac01\ud560\uc9c0 \ubaa8\ub974\uacd8\ub294\ub370<br \/>\n\uc774 \uacbd\uc6b0\ub294 \uc124\uacc4\uc758 \ud328\ub7ec\ub2e4\uc784\uc5d0\uc11c \uc880 \ub354 \ub9ce\uc740 \uc790\uc720\ub3c4\ub97c \uac00\uc838\uac08 \uc218 \uc788\ub294<br \/>\n\ud2b9\uc131\uc774 \uc544\ub2cc\uac00 \ud569\ub2c8\ub2e4.<\/p>\n<p>===================================================================<br \/>\n2013\ub144 3\uc6d4 6\uc77c \ucd94\uac00<\/p>\n<p>\ud55c\uc8fc\uc601\ub2d8::<br \/>\n&#8220;\ucef4\ud30c\uc77c \uc911\uc5d0\ub294 \uba54\uc2dc\uc9c0\uc758 \uc218\uc2e0\uc790\ub97c \ub530\uc9c0\uc9c0 \uc54a\ub294\ub2e4&#8221; \ub77c\uace0 \ud558\uba74 \uc880\ub354 \uc774\ud574\ud558\uae30 \uc218\uc6d4\ud560 \uac83 \uac19\uc544\uc694. \uadf8\ub9ac\uace0 \uc774 \ud2b9\uc9d5\uc740 \ub3d9\uc801 \ud0c0\uc785 \uc5b8\uc5b4\ub4e4\uc5d0 \uacf5\ud1b5\ub41c \uac83\uc774\uace0\uc694.<\/p>\n<p>\uc774\uac83\uc774 \uc124\uacc4\uc801\uc73c\ub85c \uc870\uae08 \ub354 \uc720\uc5f0\ud558\uba74\uc11c \ub3d9\uc2dc\uc5d0 \ub7f0\ud0c0\uc784\uc5d0\uc11c \ubd88\uc548\ud55c \uce21\uba74\uc774 \uc788\uc9c0 \uc54a\uc744\uae4c\uc694? \uadf8\ub798\uc11c \ub2e8\uc704\ud14c\uc2a4\ud2b8\ub098 TDD\uac19\uc740 \ud65c\ub3d9\uc774 \ub3d9\uc801 \uc5b8\uc5b4\uc5d0\uc11c \ub354 \ubc1c\uc804\ud588\ub2e4\uace0 \ubcf4\ub294 \uacac\ud574\ub3c4 \uc788\ub354\uad70\uc694. (\ub354 \uc26c\uc6cc\uc11c, \ub354 \ud544\uc694\ud574\uc11c)<\/p>\n<p>\uc880 \ucc3e\uc544\ubcf4\ub2c8 \uc218\uc2e0\uc790\uac00 \uba54\uc2dc\uc9c0\ub97c \ucc98\ub9ac\ud560 \uc218 \uc5c6\uc744 \ub54c\uc758 \ucc98\ub9ac\ub3c4 \uc81c\uac01\uac01\uc774\ub124\uc694. \uc2a4\ubab0\ud1a0\ud06c\ub294 doesNotUnderstand(\uc9c1\uacc4 \ud6c4\uc190\uc774\ub77c \ud560 \uc218 \uc788\ub294 \ub8e8\ube44\ub294 method_missing)\uc774 \ud638\ucd9c\ub418\uba70 \uae30\ubcf8 \ub3d9\uc791\uc740 \uc608\uc678\ub97c \uc77c\uc73c\ud0b5\ub2c8\ub2e4. \ud749\ub0b4\uc7c1\uc774 Objective-C\ub294 \uc544\ubb34 \ub3d9\uc791\ub3c4 \uc548\ud558\ub124\uc694.<\/p>\n<p>\ucc38\uace0\ub85c \ud30c\uc2f1\ub41c MessageNode \ub294 receiver, selector, arguments \uc815\ubcf4\ub97c \ub2f4\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc2a4\ubab0\ud1a0\ud06c\ub294 \uba54\uc18c\ub4dc \ub2e8\uc704\ub85c \ucef4\ud30c\uc77c\ub429\ub2c8\ub2e4. \uc6cd\uc2a4\ud398\uc774\uc2a4\uc5d0\uc11c \uc120\ud0dd\ud574\uc11c DoIt\uc744 \ud55c\ub2e4\uace0 \ud574\ub3c4 \ud574\ub2f9 \ud14d\uc2a4\ud2b8\ub97c \ub9c8\uce58 \uba54\uc18c\ub4dc\uc778\ub0e5 \ucef4\ud30c\uc77c\ud55c\ub2e4\uc74c \uc2e4\ud589\ud569\ub2c8\ub2e4. \uc2e4\ud589\ud558\ub294 \uba54\uc18c\ub4dc\ub294 ProtoObject>>withArg:excute: \uc778\uac00 \uadf8\ub807\uace0 \ub450\ubc88\uc9f8 \uc778\uc790\uac00 \ucef4\ud30c\uc77c\ub41c \uba54\uc18c\ub4dc\uc785\ub2c8\ub2e4. \ucef4\ud30c\uc77c \uacb0\uacfc\ub294 \uc2a4\ud0dd\uae30\ubc18 \uac00\uc0c1\uae30\uacc4\uc6a9 \ubc14\uc774\ud2b8\ucf54\ub4dc\uad6c\uc694.<\/p>\n<p>===================================================================<br \/>\n2013\ub144 3\uc6d4 6\uc77c \ucd94\uac00<\/p>\n<p>\uae40\uc2b9\ubc94\ub2d8::<br \/>\n\uc2a4\ubab0\ud1a0\ud06c\ub77c\ub294 \uc2dc\uc2a4\ud15c\uc774 &#8216;\uba54\uc2dc\uc9c0 \uc804\ub2ec&#8217;\uc774\ub77c\ub294 \uac04\ub2e8\ud55c \uae30\ubcf8 \uc6d0\uce59\uc744 \uc9c0\ucf1c\uac00\uba74\uc11c \uc124\uacc4\ub418\uc5c8\uae30 \ub54c\ubb38\uc774\ub77c \ubcf4\uc2dc\uba74 \ub429\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \uba54\uc2dc\uc9c0 \uc804\ub2ec\uacfc \uad00\ub828\ud574\uc11c\ub294 late-binding\uc774 \uc774\ub904\uc9c0\ub294 \uac83\uc778\ub370\uc694, \uc774\uc640 \uad00\ub828\ud574\uc11c The Early History of Smalltalk\uc5d0\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uad6c\uc808\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>OOP is a late binding strategy for many things and all of them together hold off fragility and size explosion much longer than the older methodologies.<\/p>\n<p>OOP\ub77c\ub294 \uac1c\ub150\uc774 \uc815\ub9bd\uc774 \ub418\uace0 \uc2dc\uc2a4\ud15c\uc774 \uc124\uacc4\ub41c \uac83\uc774 \uc544\ub2c8\ub77c, \uadf8 \uc2dc\ub300 \uc218 \ub9ce\uc740 \uc601\uac10\uc744 \uc92c\ub358 \uc544\uc774\ub514\uc5b4\ub4e4\uc744 \ubc30\uacbd\uc73c\ub85c \uba87 \uac00\uc9c0 \uae30\ubcf8 \uc6d0\uce59\uc744 \uc9c0\ucf1c\uac00\uba74\uc11c \uc2dc\uc2a4\ud15c\uc744 \ub514\uc790\uc778\ud55c \uacb0\uacfc \uadf8 \uc9c4\ud654\uc758 \uacfc\uc815\uc5d0\uc11c OOP\uac00 \ud0c4\uc0dd\uc774 \ub418\uc5c8\uace0\uc694, late-binding\uc774 \uadf8 \uc911\uc5d0 \uc911\uc694\ud55c \uc804\ub7b5 \uc911 \ud558\ub098\ub780 \uac83\uc774\uc8e0.<\/p>\n<p>\ub2e4\uc74c \uae00\ub3c4 \uc77d\uc5b4\ubcf4\uba74 \uc591\ud30c\ub2d8\uc774 \ub9e4\uc6b0 \uc7ac\ubc0c\uc5b4 \ud558\uc2e4\uac70 \uac19\ub124\uc694. \ud83d\ude42<\/p>\n<p>http:\/\/worrydream.com\/EarlyHistoryOfSmalltalk\/<\/p>\n<p>&#8216;Inventing on Principle&#8217; \ub3d9\uc601\uc0c1\uc73c\ub85c \uc218 \ub9ce\uc740 \ud30c\ubb38(?)\uc744 \uc77c\uc73c\ud0a8 Bret Victor\uac00 \ucd5c\uadfc\uc5d0 VPRI\uc640 \ud611\uc5c5\uc744 \ud574\uc11c\uc600\ub294\uc9c0\ub294 \ubaa8\ub974\uc9c0\ub9cc, \uc790\uc2e0\uc758 \ud648\ud398\uc774\uc9c0\uc5d0 \ubb38\uc11c\ub97c \uc77d\uae30 \uc88b\uac8c \ub2e4\uc2dc \uae54\ub054\ud558\uac8c \uc815\ub9ac\ud574\uc11c \uc62c\ub824\ub450\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Transcript show: &#8216;aaaa&#8217; Smalltalk \uad6c\ubb38\uc778 \uc704\uc758 \uad6c\ubb38 \uc5d0\uc11c show: &#8216;aaaa&#8217; \ubd80\ubd84\uc774 \ud1b5\uc9f8\ub85c \uba54\uc138\uc9c0\uc778\ub370\ub294 \uc774\uc720\uac00 \uc788\ub294\uac83 \uac19\uc2b5\ub2c8\ub2e4. http:\/\/trans.onionmixer.net\/mediawiki\/index.php?title=SqueakByExample:5.8 \uc704 \uc8fc\uc18c\uc758 \uc694\uc57d\ubd80\ubd84\uc911 \ub2e4\uc74c\uacfc\uac19\uc740 \ubd80\ubd84\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ubaa8\ub4e0 \uac83\uc740 \uba54\uc2dc\uc9c0 \uc804\uc1a1\uc73c\ub85c \uc774\ub8e8\uc5b4\uc9d1\ub2c8\ub2e4. \uc2a4\ubab0\ud1a0\ud06c\uc5d0\uc11c\ub294 &#8220;\uba54\uc11c\ub4dc \ud638\ucd9c&#8221;\uc744 \ud558\uc9c0 \uc54a\uace0, &#8220;\uba54\uc2dc\uc9c0 \uc804\uc1a1&#8221;\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uba54\uc138\uc9c0\uac00 \uc804\uc1a1\ub41c\ub2e4\uc74c, \uc218\uc2e0\uc790\ub294 \uadf8 \uba54\uc2dc\uc9c0\uc5d0 \uc751\ub2f5\ud558\uae30 \uc704\ud574 \uc218\uc2e0\uc790 \uc790\uc2e0\uc758 \uba54\uc11c\ub4dc\ub97c \uc120\ud0dd\ud569\ub2c8\ub2e4. \uc5b4?&#8230;&#8230;&#8230;&#8230;..\uc774\uac70 \uc774\uc0c1\ud558\ub2e4.. \uc800\ub294 \uc5ec\ud0dc\uae4c\uc9c0 Smalltalk\uc5d0 \ub300\ud574\uc11c \uc798\ubabb \uc0dd\uac01\ud558\uace0 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[36,78,37],"_links":{"self":[{"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/172"}],"collection":[{"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=172"}],"version-history":[{"count":4,"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/172\/revisions"}],"predecessor-version":[{"id":176,"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/172\/revisions\/176"}],"wp:attachment":[{"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=172"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}