<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=VisualWorksIntroduction%3APage02</id>
	<title>VisualWorksIntroduction:Page02 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=VisualWorksIntroduction%3APage02"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=VisualWorksIntroduction:Page02&amp;action=history"/>
	<updated>2026-04-21T17:52:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=VisualWorksIntroduction:Page02&amp;diff=2717&amp;oldid=prev</id>
		<title>Onionmixer: 큰따옴표 수정</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=VisualWorksIntroduction:Page02&amp;diff=2717&amp;oldid=prev"/>
		<updated>2013-01-20T07:34:42Z</updated>

		<summary type="html">&lt;p&gt;큰따옴표 수정&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:34, 20 January 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l106&quot;&gt;Line 106:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 106:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 메서드명 규약은 템포러리 변수명에도 적용된다&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 메서드명 규약은 템포러리 변수명에도 적용된다&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;이것들을 확인했다면, 메서드의 형태를 이해하기 위해 간단한 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;“복합”식을 &lt;/del&gt;보도록 합시다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;이것들을 확인했다면, 메서드의 형태를 이해하기 위해 간단한 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;복합&quot;식을 &lt;/ins&gt;보도록 합시다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;text-align:right;width:60px;float:left;&amp;quot; | {{HeadImageDominos}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;text-align:right;width:60px;float:left;&amp;quot; | {{HeadImageDominos}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l142&quot;&gt;Line 142:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 142:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;왼쪽에서 오른쪽으로 옮겨가며 처리하다 보면 키워드 메시지({{HighlightBold|show:}}이기 때문에)가 있는 것을 알 수 있습니다. 하지만 키워드 메시지는 평가 순서에서는 맨 마지막에 해당됩니다. 처음에 단항 메시지나 이항 메시지를 찾을 필요가 있습니다. 즉, &quot;Date today weekday&quot;가 처음 평가됩니다. 거기서 돌아오는 값인 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;“&lt;/del&gt;&quot;onday&quot; 는 Transcript 객체의 키워드 메시지 {{HighlightBold|show:}}로의 파라메터로써 사용됩니다. 즉 아래와 같이 실행됩니다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;왼쪽에서 오른쪽으로 옮겨가며 처리하다 보면 키워드 메시지({{HighlightBold|show:}}이기 때문에)가 있는 것을 알 수 있습니다. 하지만 키워드 메시지는 평가 순서에서는 맨 마지막에 해당됩니다. 처음에 단항 메시지나 이항 메시지를 찾을 필요가 있습니다. 즉, &quot;Date today weekday&quot;가 처음 평가됩니다. 거기서 돌아오는 값인 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/ins&gt;&quot;onday&quot; 는 Transcript 객체의 키워드 메시지 {{HighlightBold|show:}}로의 파라메터로써 사용됩니다. 즉 아래와 같이 실행됩니다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=VisualWorksIntroduction:Page02&amp;diff=2716&amp;oldid=prev</id>
		<title>Onionmixer: VisualWorksIntroduction page02 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=VisualWorksIntroduction:Page02&amp;diff=2716&amp;oldid=prev"/>
		<updated>2012-12-13T08:26:05Z</updated>

		<summary type="html">&lt;p&gt;VisualWorksIntroduction page02 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{CincomTop|{{CincomSmalltalkHeadBanner||입문서 : 스몰토크 구문(파트1)}}}}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: none; width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;width:60px;float:left;&amp;quot; | {{HeadImageOpenbook}}&lt;br /&gt;
| Smalltalk에서는 세 가지 메시지 형태가 있습니다. 이것들을 형태로 분류하는 것은 매우 중요합니다. 왜냐면 복합문을 &amp;quot;객체 - 메서드&amp;quot;의 형태인 기본형으로 분해하는데 규칙이 있기 때문입니다.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;width:60px;float:left;&amp;quot; | {{HeadImageCertifacate}}&lt;br /&gt;
| {{CincomSmalltalkGreenBigFont|이 입문서에서는 스몰토크의 세 가지 메시지를 설명합니다. 또한 스몰토크에는 넓게 사용되는 네이밍 규약이 있습니다.(엄밀히 규제되는 기준은 없습니다. 하지만 기본적으로는 지키고 있습니다.)}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;width:60px;float:left;&amp;quot; | {{HeadImageLightbulb}}&lt;br /&gt;
| 입문서에 기술되어있는 간단한 코드는 {{HighlightBold|Workspace}}에서 &amp;quot;실행&amp;quot;이 가능합니다. {{HighlightBold|Workspace}}를 열고, VisualWorks {{HighlightBold|메인 런쳐}} 화면에서 툴바 맨 끝 버튼을 클릭하거나, {{HighlightBold|Tool&amp;gt;&amp;gt;Workspace}} 메뉴를 선택해 주십시오. 그리고 이 화면에서 코드를 Workspace에 복사해 주십시오.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;width:60px;float:left;&amp;quot; | {{HeadImageMerge}}&lt;br /&gt;
| 스몰토크의 세 가지 메시지 형태&lt;br /&gt;
&lt;br /&gt;
* {{HighlightBold|단항}}&lt;br /&gt;
* {{HighlightBold|이항}}&lt;br /&gt;
* {{HighlightBold|키워드}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight:bold;font-style:normal;color:blue;font-size:120%;&amp;quot;&amp;gt;단항 메시지&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
4 squared &lt;br /&gt;
&amp;#039;pots&amp;#039; reverse &lt;br /&gt;
10 factorial &lt;br /&gt;
&amp;#039;chocolate&amp;#039; asUppercase &lt;br /&gt;
6.4 rounded&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
위 예문은 Smalltalk 언어의 기본형을 나타내고 있습니다. 일본어와 마찬가지고, 매우 간단한 문법인 명사와 동사(그는 날았다. 그녀는 울었다.)라는 두 가지 단어를 포함한 문입니다. Smalltalk 방식에서도 같습니다. 이 방식에는 객체와 메시지가 포함되어 있습니다. 하나의 객체와 하나의 메시지를 동반하고 있어서 {{HighlightBold|단항 메시지}}라고 부릅니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight:bold;font-style:normal;color:blue;font-size:120%;&amp;quot;&amp;gt;이항 메시지&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
3 + 4 &lt;br /&gt;
6 * 5 &lt;br /&gt;
&amp;#039;Visual&amp;#039;,&amp;#039;Works&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
위에 쓰여진 문은 이항 메시지의 예입니다. 이항에는 두 가지 의미가 있습니다. 이것들의 식은 공통의 메시지와 두 개의 객체를 포함하고 있습니다. 수 많은 이항 메시지는 자연과학의 계산에서 사용됩니다. 하지만 그렇지 않은 것도 있습니다. 세 번째 열의(&amp;#039;Visual&amp;#039;, &amp;#039;Works&amp;#039;)는 메시지로써 콤마와 두 개의 {{HighlightBold|String}} 클래스의 인스턴스를 포함하고 있습니다. &amp;quot;콤마&amp;quot; 메서드는 결합을 위해 사용됩니다. 이 경우, 받는 객체인 &amp;#039;Visual&amp;#039;에 &amp;#039;Works&amp;#039; 문자열을 덧붙이기 위해 사용됩니다. 결과로써 &amp;#039;VisualWorks&amp;#039;라는 {{HighlightBold|String}} 객체를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight:bold;font-style:normal;color:blue;font-size:120%;&amp;quot;&amp;gt;키워드 메시지&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
Dialog warn: &amp;#039;Hello World&amp;#039; &lt;br /&gt;
Transcript show: &amp;#039;Hello World&amp;#039; &lt;br /&gt;
&amp;#039;Got Milk?&amp;#039; replaceFrom: 5 to: 8 with: &amp;#039;I am lost&amp;#039; startingAt: 6&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
위에 쓰여진 문은 {{HighlightBold|키워드 메시지}}열입니다. 이 문들의 형태에는 콜론(:)이 있습니다. 첫 열에서는 {{HighlightBold|Dialog}} 클래스를 사용하여 {{HighlightBold|warn}} 메시지를 보냅니다. warn 메시지 뒤에 붙는 콜론은 무언가(파라메터)가 warn 메시지 뒤에 붙는 것을 의미합니다. 위 예시에서는 single quotes으로 둘러싸인 문자열이 그렇습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
마지막 열에는 세 가지 메시지(세 개의 단어에 콜론이 있습니다)가 있습니다. 하지만 실은 한 가지 메서드입니다. 메서드의 이름은 {{HighlightBold|replaceFrom:to:with:startingAt:}}입니다. 좀 이상하게 느끼실지도 모르겠습니다만, 식을 분해함으로 이해하기 쉬워집니다. 세 가지 파라메터를 하나의 메서드가 가지고 있습니다. 메시지에는 메서드가 기대하는 파라메터를 기술합니다.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;width:60px;float:left;&amp;quot; | {{HeadImageDominos}}&lt;br /&gt;
| &amp;lt;span style=&amp;quot;font-weight:bold;font-style:normal;color:blue;font-size:120%;&amp;quot;&amp;gt;스몰토크 식의 평가&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
평가에는 법칙이 있습니다. 식이 아무리 복잡하다 해도 반드시 분해됩니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight:bold;font-style:normal;color:black;font-size:120%;&amp;quot;&amp;gt;오브젝트 메시지&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# 좌에서 우로&lt;br /&gt;
# 괄호 안의 식&lt;br /&gt;
# 단항 메시지&lt;br /&gt;
# 이항 메시지&lt;br /&gt;
# 키워드 메시지&lt;br /&gt;
&lt;br /&gt;
또한, 메시지는 항상 돌아와 값으로써 객체를 생성합니다. 이 객체는 식에서 다음 메시지에 대응하는 파라메터, 혹은 리시버로써 사용됩니다.&lt;br /&gt;
&lt;br /&gt;
[[image:cincom_introduction_figsyn1.gif|none|260px|thumb|그림 S-1. 전형적인 &amp;quot;복합&amp;quot;식]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
괄호가 없으므로, 처음엔 단항 메시지, 다음은 이항 메시지, 마지막으로 키워드 메시지를 왼쪽에서부터 오른쪽으로 평가합니다. 따라서 처음엔 아래와 같이 평가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
Date today weekday&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
그리고 아래와 같이 평가됩니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
December 25, 2000 weekday&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
물론 &amp;quot;December 25, 2000&amp;quot;이라는 날짜는 이 연습을 동일한 날짜에 실행했을 경우 나타납니다. 그렇지 않은 경우엔 이 연습을 실행한 당일 날짜가 돌아옵니다. 즉, &amp;quot;Date today&amp;quot;는 Date 객체를 돌려줍니다. 그리고, 이 Date 객체는 날짜의 요일을 되돌리는 {{HighlightBold|weekday}} 메시지에 전송됩니다.&lt;br /&gt;
&lt;br /&gt;
[[image:cincom_introduction_figsyn2.gif|none|270px|thumb|그림 S-2. 스몰토크의 &amp;quot;복합&amp;quot;식 평가방법]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;width:60px;float:left;&amp;quot; | {{HeadImageTakenote}}&lt;br /&gt;
| &amp;lt;span style=&amp;quot;font-weight:bold;font-style:normal;color:blue;font-size:120%;&amp;quot;&amp;gt;네이밍 규약&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skublics, Klimas, Thomas에 의해 쓰여진 Smalltalk with Style(ISBN : 0-13-165549-3)이란 서적에는, 스몰토크 프로그래밍에 의한, 사실상 표준이 되는 네이밍 규약에 대해 기술하고 있습니다. 여기서는, 적어도 지금 당장 필요한 기초지식만 중점적으로 설명하겠습니다.&lt;br /&gt;
&lt;br /&gt;
* 클래스명은 항상 첫 문자를 대문자로 시작한다&lt;br /&gt;
* 메서드명은 항상 첫문자를 소문자로 시작한다&lt;br /&gt;
* 메서드명은 단어를 생략하지 않고 기술한다&lt;br /&gt;
* 메서드명은 그 메서드명 안에 있는 두 번째 이후 단어의 첫 문자를 대문자로 만든다&lt;br /&gt;
* 메서드명 규약은 템포러리 변수명에도 적용된다&lt;br /&gt;
&lt;br /&gt;
이것들을 확인했다면, 메서드의 형태를 이해하기 위해 간단한 “복합”식을 보도록 합시다.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;width:60px;float:left;&amp;quot; | {{HeadImageDominos}}&lt;br /&gt;
| &amp;lt;span style=&amp;quot;font-weight:bold;font-style:normal;color:blue;font-size:120%;&amp;quot;&amp;gt;메서드의 형태&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
메서드에는 기본적으로 두 가지 형태가 있습니다.&lt;br /&gt;
 &lt;br /&gt;
* 클래스측 메서드&lt;br /&gt;
* 인스턴스측 메서드&lt;br /&gt;
&lt;br /&gt;
각 형태를 봅시다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
Dialog warn: &amp;#039;Hello World&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dialog는 대문자로 시작했으니 클래스입니다. {{HighlightBold|Dialog}}클래스이기 때문에 {{HighlightBold|warn:}}은 클래스 메서드입니다. 그리고 {{HighlightBold|Dialog}} 클래스의 인스턴스를 돌려보냅니다.(다이얼로그 박스는 &amp;#039;Hello World&amp;#039; 라는 문자열과 OK버튼이 표시됩니다.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
4 factorial&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
숫자 {{HighlightBold|4}}는 SmallInteger 클래스의 인스턴스입니다. {{HighlightBold|4}}는 인스턴스이기 때문에 {{HighlightBold|factorial}}은 인스턴스 메서드입니다. 그리고, {{HighlightBold|SmallInteger}} 클래스의 인스턴스(24)를 돌려줍니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
Date today weekday&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightBold|Date}}는 대문자로 시작했기 때문에 클래스입니다. {{HighlightBold|Date}}는 클래스이기 때문에 {{HighlightBold|today}}는 클래스 메서드입니다. 그리고 {{HighlightBold|Date}}클래스의 인스턴스(오늘 날짜)를 돌려보냅니다. 왼쪽에서 오른쪽으로 처리하다보면 다음은 {{HighlightBold|weekday}}가 나옵니다. {{HighlightBold|weekday}}는 Date 클래스의 인스턴스 뒤에 이어져 있기 때문에 인스턴스 메서드입니다. 그리고 심볼을 돌려줍니다.(스몰토크에서 심볼은 정수와 같은 역할을 하는 특별한 객체 형태입니다만, 여기서는 별로 중요치 않습니다.) 여기서 중요한 것은 &amp;quot;Date today&amp;quot;에서 돌아온 객체가 다음 &amp;quot;weekday&amp;quot; 메시지의 리시버로써 사용된다는 점입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
Transcript show: Date today weekday&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
왼쪽에서 오른쪽으로 옮겨가며 처리하다 보면 키워드 메시지({{HighlightBold|show:}}이기 때문에)가 있는 것을 알 수 있습니다. 하지만 키워드 메시지는 평가 순서에서는 맨 마지막에 해당됩니다. 처음에 단항 메시지나 이항 메시지를 찾을 필요가 있습니다. 즉, &amp;quot;Date today weekday&amp;quot;가 처음 평가됩니다. 거기서 돌아오는 값인 “&amp;quot;onday&amp;quot; 는 Transcript 객체의 키워드 메시지 {{HighlightBold|show:}}로의 파라메터로써 사용됩니다. 즉 아래와 같이 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
Transcript show: Date today weekday&lt;br /&gt;
Transcript show: (December 25, 2000) weekday&lt;br /&gt;
Transcript show: Monday&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;width:60px;float:left;&amp;quot; | {{HeadImageCertifacate}}&lt;br /&gt;
| &amp;lt;font style=&amp;quot;text-align:center;font-weight:bold; font-style: normal;font-size:110%;&amp;quot;&amp;gt;정리&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
스몰토크의 구문 전체중 일부를 설명했습니다만, 스몰토크 코드를 읽기 위해서는 충분한 지식입니다.&lt;br /&gt;
|- style=&amp;quot;text-align:center;font-weight:bold; font-style: normal;font-size:120%;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;hr style=&amp;quot;color:black;background-color:black;height:4px;&amp;quot;&amp;gt; | 이전으로 돌아가기 |&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>