<?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=ComputerProgrammingwithGNUSmalltalk%3A3.9</id>
	<title>ComputerProgrammingwithGNUSmalltalk:3.9 - 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=ComputerProgrammingwithGNUSmalltalk%3A3.9"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=ComputerProgrammingwithGNUSmalltalk:3.9&amp;action=history"/>
	<updated>2026-04-16T20:08:45Z</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=ComputerProgrammingwithGNUSmalltalk:3.9&amp;diff=2489&amp;oldid=prev</id>
		<title>Onionmixer: CPGS 공통클래스와사용법2부 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=ComputerProgrammingwithGNUSmalltalk:3.9&amp;diff=2489&amp;oldid=prev"/>
		<updated>2012-09-21T12:18:04Z</updated>

		<summary type="html">&lt;p&gt;CPGS 공통클래스와사용법2부 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==공통 클래스와 사용법 : 2부==&lt;br /&gt;
&lt;br /&gt;
이제 여러분들이 아마 사용하게 될 다른 유용한 클래스들을 소개하겠습니다. 예제에서는 변수 개념도 사용할 것입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===배열===&lt;br /&gt;
&lt;br /&gt;
여러 종류의 자료와 작업들을 처리할 때, 그룹화 할 필요가 있습니다. 보통, 우리가 그룹화한 데이터들은 특정 방식으로 연결되어 있습니다. 장보기 목록이나 우리가 좋아하는 영화, 읽었던 책 등 처럼 말입니다.. 따라서 다른 객체의 집합을 갖고 있을 수 있는 객체가 필요합니다. Array, Set, Dictionary 클래스는 다른 방법으로 여러 객체를 한꺼번에 다루는 객체들입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
먼저 Array 클래스를 보겠습니다. 이 클래스는 지정한 수 만큼의 객체들을 순서대로 갖고 있을 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====new:====&lt;br /&gt;
&lt;br /&gt;
new: 메시지를 Array 클래스에 전달하여 새 Array 객체를 만들 수 있습니다. 얼마나 많은 객체를 배열에 둘 것인지 정해야만 합니다. 코드는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
| anArray |&lt;br /&gt;
&lt;br /&gt;
anArray := Array new: 10&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|(nil nil nil nil nil nil nil nil nil nil )}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
위의 내용을 각각의 행으로 입력하거나, 파일에 소스코드를 입력한 후 GST 인터프리터에 전달하는 것으로 프로그램을 실행할 수 있습니다만 앞으로 작성할 내용을 위해, 각각의 행으로 입력하여주십시오.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
각각의 행을 입력하였다면, 이제 anArray 변수가 다른 열 개의 객체를 담을 수 있는 Array 객체를 참조할 것입니다. 현재의 Array 객체의 상태를 위에서 볼 수 있을 것입니다. 먼저 Array 객체의 모든 객체는 아무것도 나타내지 않는 특수한 객체 nil 로 초기화 하였습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====at:====&lt;br /&gt;
&lt;br /&gt;
어떤 한 위치의 객체를 알아보기 위해 at: 메시지를 사용할 수 있습니다. 입력한 프로그램 내용을 유지한 상태에서, 아래와 같이 명령을 입력하여 주십시오.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
anArray at: 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|nil}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
물론 현재 배열의 첫 번째 객체는 nil 입니다. 여기서 배열의 위치로 전달한 값1 은 인덱스(indexes)라고 부릅니다. 스몰토크의 인덱스는 1로 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{HighlightBoldBox|프로그래밍 유경험자들에게:&amp;lt;br&amp;gt;&lt;br /&gt;
C 기반의 언어들과 대조적으로, 스몰토크에서는 인덱스가 0이 아닌 1로 시작합니다.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====at:put:====&lt;br /&gt;
&lt;br /&gt;
배열의 특정 위치에 객체를 두기 위해 at:put: 메시지를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
anArray at: 1 put: &amp;#039;Toothbrush&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|&amp;#039;Toothbrush&amp;#039;}}&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;
anArray&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|(&amp;#039;Toothbrush&amp;#039; nil nil nil nil nil nil nil nil nil )}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
이제 보시다시피 첫번째 객체는 String 클래스의 인스턴스 ‘Toothbrush’ 입니다. 이제 soap를 배열에 입력해보겠습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
anArray at: 2 put: &amp;#039;Soap&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|&amp;#039;Soap&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
anArray&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|(&amp;#039;Toothbrush&amp;#039; &amp;#039;Soap&amp;#039; nil nil nil nil nil nil nil nil )}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====includes:====&lt;br /&gt;
&lt;br /&gt;
특정 객체를 배열이 갖고 있는지 includes: 메시지를 전달하여 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
anArray includes: &amp;#039;Soap&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|true}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
anArray includes: &amp;#039;Toothpaste&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|false}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====reverse====&lt;br /&gt;
&lt;br /&gt;
Array 객체가 순서를 갖는 집합이라고 말한 것을 기억하십시오. 이 순서를 다루는 방법이 있습니다. 그 중 그 순서를 반대로 만드는 것이 reverse 메시지입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
anArray reverse&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|(nil nil nil nil nil nil nil nil &amp;#039;Soap&amp;#039; &amp;#039;Toothbrush&amp;#039; )}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Set===&lt;br /&gt;
&lt;br /&gt;
Set은 Array와 비슷하지만, 순서없이 객체를 담아둔다는 점과 갯수의 한계를 미리 정의하지 않는다는 점이 다릅니다. GNU 스몰토크에서의 Set은 수학에서 말하는 집합과 비슷한 것입니다. 따라서 수학에서의 집합과 같이 생각하시면 됩니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====new====&lt;br /&gt;
&lt;br /&gt;
new 메시지로 Set 클래스의 인스턴스를 생성할 수 있습니다. 그러니 이 경우 메시지에 다른 인자가 필요없습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
| aSet |&lt;br /&gt;
&lt;br /&gt;
aSet := Set new&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|Set ()}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
초기화 한 것을 우리에게 보여주지만 어떤 객체도 포함하지 않았다는 것을 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====add:====&lt;br /&gt;
&lt;br /&gt;
Set에 add: 메시지를 이용하여 객체를 추가할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aSet add: &amp;#039;Toothbrush&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|&amp;#039;Toothbrush&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aSet&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|Set (&amp;#039;Toothbrush&amp;#039; )}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
이제 우리는 &amp;#039;Toothbrush&amp;#039; 라는 값을 갖는 string 객체를 넣어두었습니다. 이제 다른 String 객체를 추가해봅시다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aSet add: &amp;#039;Soap&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|&amp;#039;Soap&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aSet&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|Set (&amp;#039;Soap&amp;#039; &amp;#039;Toothbrush&amp;#039; )}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GST가 &amp;#039;Toothbrush&amp;#039; 앞에 객체를 둔 것을 확인할 수 있을 것입니다. 실제로는 이전 객체의 앞에 둔 것이 아니라, 그냥 임의로 집어넣은 것입니다. &amp;#039;Soap&amp;#039; 와 &amp;#039;Toothbrush&amp;#039; 의 객체 위치는 예측하지 못하며, 다른 말로 Set 안에선 확실한 위치를 알 수 없다는 것입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{HighlightBoldBox|질문:&amp;lt;br&amp;gt;&lt;br /&gt;
왜 Set 클래스가 reverse 메시지를 갖고 있지 않은지 설명할 수 있습니까?}}&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;
aSet add: &amp;#039;Toothpaste&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|&amp;#039;Toothpaste&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aSet&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|Set (&amp;#039;Soap&amp;#039; &amp;#039;Toothpaste&amp;#039; &amp;#039;Toothbrush&amp;#039; )}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
이제 우리가 추가한 마지막 객체가 두 객체 사이에 있습니다. 하지만, 또한 이것도 역시 실제로는 순서가 없습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set 객체 안에서는 순서를 알 수 없다는 것이 흥미로운 점입니다. 두 번 이상 같은 객체를 Set 객체에 집어넣으려 해도, 같은 객체는 들어가지 않습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aSet add: &amp;#039;Toothbrush&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|&amp;#039;Toothbrush&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aSet&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|Set (&amp;#039;Soap&amp;#039; &amp;#039;Toothpaste&amp;#039; &amp;#039;Toothbrush&amp;#039; )}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GST에게는 객체가 Set 안에 있는지 없는지가 중요합니다. 앞으로 차차 보시게 되겠지만, 이것은 수학의 집합과 매우 흡사한 점입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====remove:====&lt;br /&gt;
&lt;br /&gt;
Set에 remove: 메시지를 보내어 지정한 객체를 제거할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aSet remove: &amp;#039;Toothpaste&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|&amp;#039;Toothpaste&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
remove: 메시지가 Set 객체를 반환하지 않고 삭제한 객체를 보여준다는 것을 주의하십시오.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aSet&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|Set (&amp;#039;Soap&amp;#039; &amp;#039;Toothbrush&amp;#039; )}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
보신 것처럼, Set의 항은 인덱스가 없기 때문에, 인덱스가 아닌 항을 가지고서 제거합니다.&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;
| anElement | &lt;br /&gt;
&lt;br /&gt;
anElement := &amp;#039;Perfume&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|&amp;#039;Perfume&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
별도의 변수에 String 객체를 지정하였습니다. 이제 집합에 추가하도록 하겠습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aSet add: anElement&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|&amp;#039;Perfume&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aSet&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|Set (&amp;#039;Soap&amp;#039; &amp;#039;Toothbrush&amp;#039; &amp;#039;Perfume&amp;#039; )}}&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;
aSet remove: anElement&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|&amp;#039;Perfume&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aSet&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|Set (&amp;#039;Soap&amp;#039; &amp;#039;Toothbrush&amp;#039; )}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
이제 Set으로부터 항목을 제거하였습니다. 아직 변수가 살아있는지 확인해보겠습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
anElement&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|&amp;#039;Perfume&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
보다시피 여전히 잘 존재합니다. 우리가 Set 에 보낸 메시지 remove: 메시지는 String 객체와 이를 가리키는 변수에 영향을 미치지 않았습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dictionary===&lt;br /&gt;
&lt;br /&gt;
이제 보여드릴 마지막 클래스는 Dictionary라고 합니다. Dictionary는 Array와 Set과 같이 여러 개의 객체를 묶는 기능을 제공하고 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dictionary는 각 데이터를 관련된 인덱스 키와 연결하여 자료를 유지한다는 것이 Array와 같습니다. 그러나 Dictionary의 키는 정수가 아니어도 된다는 점이 다릅니다. 자료에 대한 키로서 어떠한 객체도 정의할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dictionary는 Set과 같이 순서가 없다는 것, 그리고 객체의 갯수를 제한하지 않는다는 점이 같습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====new====&lt;br /&gt;
&lt;br /&gt;
Set과 같이 new 메시지를 사용할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
| aDictionary |&lt;br /&gt;
&lt;br /&gt;
aDictionary := Dictionary new&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|Dictionary (&amp;lt;br&amp;gt;&lt;br /&gt;
)}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
초기에 Dictionary 객체가 아무 객체도 포함하지 않았다는 것을 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====at:put:====&lt;br /&gt;
&lt;br /&gt;
at:put: 메시지를 사용하여 사전에 객체를 추가할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aDictionary at: &amp;#039;Canol&amp;#039; put: &amp;#039;Gokel&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|&amp;#039;Gokel&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aDictionary&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|Dictionary (&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;Canol&amp;#039;-&amp;gt;&amp;#039;Gokel&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
)}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
이제 사전은 Canol로 이름붙인 문자열과 연결된 Gokel이라는 문자열을 갖고 있습니다. 이제 다른 String 객체를 추가해봅시다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aDictionary at: &amp;#039;Paolo&amp;#039; put: &amp;#039;Bonzini&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|&amp;#039;Bonzini&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aDictionary&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|Dictionary (&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;Canol&amp;#039;-&amp;gt;&amp;#039;Gokel&amp;#039;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;Paolo&amp;#039;-&amp;gt;&amp;#039;Bonzini&amp;#039; &amp;lt;br&amp;gt;)}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====keys====&lt;br /&gt;
&lt;br /&gt;
keys 메시지로 Dictionary 안의 모든 키를 얻을 수 있습니다. GST는 포함하고 있는 모든 키를 Set 객체로 반환할 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aDictionary keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|Set (&amp;#039;Canol&amp;#039; &amp;#039;Paolo&amp;#039; )}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====removeKey:====&lt;br /&gt;
Dictionary로부터 항목을 제거하기 위해 removeKey: 메시지를 사용할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aDictionary removeKey: &amp;#039;Canol&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|&amp;#039;Gokel&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
aDictionary&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightPurple|Dictionary (&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;Paolo&amp;#039;-&amp;gt;&amp;#039;Bonzini&amp;#039;&amp;lt;br&amp;gt;)}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
removeKey: 메시지는 Set의 remove: 메시지와 같이 제거한 객체를 반환합니다.&lt;br /&gt;
&lt;br /&gt;
[[Category:ComputerProgrammingwithGNUSmalltalk]]&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>