<?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%3APage09</id>
	<title>VisualWorksIntroduction:Page09 - 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%3APage09"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=VisualWorksIntroduction:Page09&amp;action=history"/>
	<updated>2026-04-21T11:27:40Z</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:Page09&amp;diff=2736&amp;oldid=prev</id>
		<title>Onionmixer: VisualWorksIntroduction page09 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=VisualWorksIntroduction:Page09&amp;diff=2736&amp;oldid=prev"/>
		<updated>2012-12-13T11:23:41Z</updated>

		<summary type="html">&lt;p&gt;VisualWorksIntroduction page09 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{CincomTop|{{CincomSmalltalkHeadBanner||입문서 : 컬렉션(Bag)(파트 1)}}}}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: none; width:100%;&amp;quot;|-&lt;br /&gt;
| style=&amp;quot;text-align:right;width:60px;float:left;&amp;quot; | {{HeadImageOpenbook}}&lt;br /&gt;
| 컬렉션 클래스(와, 그 서브 클래스)는 스몰토크언어의 특징중 하나입니다. 다른 언어에서는 줄줄이 기술해야하는 코드가, 스몰토크에서는 단 하나의 메시지로 끝납니다. 이제 {{HighlightBold|Bag}} 객체를 사용해봅시다.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;width:60px;float:left;&amp;quot; | {{HeadImageCertifacate}}&lt;br /&gt;
| {{CincomSmalltalkGreenFont|이 레슨에서는 Bag 객체를 소개하고 특징적인 기능을 몇 가지 해설하겠습니다.}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;width:60px;float:left;&amp;quot; | {{HeadImageSteps}}&lt;br /&gt;
| 1. VisualWorks를 실행하지 않은 경우엔 실행시켜 주십시오&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. VisualWorks {{HighlightBold|메인 런쳐}} 화면에서 툴바 맨 뒤에 있는 버튼을 클릭하거나, {{HighlightBold|Tool&amp;gt;&amp;gt;Workspace}} 메뉴를 선택해 주십시오.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. {{HighlightBold|Workspace}}에 아래 내용을 입력해 주십시오.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
| myBag | &lt;br /&gt;
myBag := Bag new. &lt;br /&gt;
myBag add: &amp;#039;dog&amp;#039;. &lt;br /&gt;
myBag add: &amp;#039;cat&amp;#039;. &lt;br /&gt;
myBag inspect.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. 모든 텍스트를 반전하고 {{HighlightBold|&amp;lt;오퍼레이트 클릭&amp;gt;}}후 {{HighlightBold|실행}}을 선택해 주십시오.&lt;br /&gt;
&lt;br /&gt;
{{CincomSmalltalkBlueFont|새로운 Inspector 화면이 표시됩니다. 화면의 타이틀은 {{HighlightBold|a Bag}}입니다.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. {{HighlightBold|Inspector}} 화면의 왼쪽 창에 표시되어있는 {{HighlightBold|self}}를 선택해 주십시오.&lt;br /&gt;
&lt;br /&gt;
{{HighlightBold|Bag(&amp;#039;dog&amp;#039; &amp;#039;cat&amp;#039;)}}{{CincomSmalltalkBlueFont|이 표시됩니다.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. {{HighlightBold|Inspector}} 화면 왼쪽 창에 표시된 {{HighlightBold|contents}}를 선택해 주십시오.&lt;br /&gt;
&lt;br /&gt;
{{HighlightBold|Dictionary(&amp;#039;dog&amp;#039; -&amp;gt;1 &amp;#039;cat&amp;#039;-&amp;gt;1)}}{{CincomSmalltalkBlueFont|이 표시됩니다.}}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: none;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[image:cincom_introduction_figbags1.gif|none|261px|thumb|그림 B-1. Bag 객체의 Inspector 화면]]&lt;br /&gt;
|[[image:cincom_introduction_figbags2.gif|none|261px|thumb|그림 B-2. Bag의 내용]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7. {{HighlightBold|Inspector}} 화면을 닫아주십시오.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;width:60px;float:left;&amp;quot; | {{HeadImageQuestion}}&lt;br /&gt;
| {{HighlightBold|Bag 컬렉션은 어떤 작동을 하나요?}}&lt;br /&gt;
&lt;br /&gt;
{{HighlightBold|Bag}}의 정의로서, 실제 가방과 매우 비슷합니다. 왜냐면, Bag에 투입한 것은 무엇이든 보유하기 때문입니다. 단, 일반적으로 Bag 안에 넣는, 혹은 존재하는 아이템은 무언가 공통되는 부분이 있습니다.(즉 그룹으로서 닮은 무언가) 위 예시의 경우, 작은 동물 그룹입니다. 넣는 것은 무엇이든 격납하는 것 외에 멋진 특징중 하나로, &amp;quot;같은&amp;quot; 아이템을 카운트 하는 기능이 있습니다. 위의 예문과 아래 예문의 차이를 비교해보십시오.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;width:60px;float:left;&amp;quot; | {{HeadImageSteps}}&lt;br /&gt;
| 8. {{HighlightBold|Workspace}}에 아래와 같이 입력해 주십시오.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
| myBag | &lt;br /&gt;
myBag := Bag new. &lt;br /&gt;
myBag add: &amp;#039;dog&amp;#039;. &lt;br /&gt;
myBag add: &amp;#039;cat&amp;#039;. &lt;br /&gt;
myBag add: &amp;#039;dog&amp;#039;. &lt;br /&gt;
myBag add: &amp;#039;cat&amp;#039;. &lt;br /&gt;
myBag add: &amp;#039;dog&amp;#039;. &lt;br /&gt;
myBag inspect.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9. 모든 텍스트를 반전시키고 {{HighlightBold|&amp;lt;오퍼레이트 클릭&amp;gt;}}후 {{HighlightBold|실행}}을 선택해 주십시오.&lt;br /&gt;
&lt;br /&gt;
{{CincomSmalltalkBlueFont|새로운(Inspector) 화면이 표시됩니다. 화면의 타이틀은 a Bag입니다.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10. {{HighlightBold|Inspector}} 화면의 왼쪽 창에 표시된 {{HighlightBold|self}}를 선택해 주십시오.&lt;br /&gt;
&lt;br /&gt;
{{HighlightBold|Bag(&amp;#039;dog&amp;#039; &amp;#039;dog&amp;#039; &amp;#039;dog&amp;#039; &amp;#039;cat&amp;#039; &amp;#039;cat&amp;#039;)}}{{CincomSmalltalkBlueFont|이 표시됩니다.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
11. {{HighlightBold|Inspector}} 화면의 왼쪽 창에 표시된 {{HighlightBold|contents}}를 선택해 주십시오.&lt;br /&gt;
&lt;br /&gt;
{{HighlightBold|Dictionary (&amp;#039;dog&amp;#039;-&amp;gt;3 &amp;#039;cat&amp;#039;-&amp;gt;2)}}{{CincomSmalltalkBlueFont|가 표시됩니다.}}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: none;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[image:cincom_introduction_figbags3.gif|none|263px|thumb|그림 B-3. Bag 객체의 인스팩터 화면]]&lt;br /&gt;
|[[image:cincom_introduction_figbags4.gif|none|263px|thumb|그림 B-4. Bag 객체의 내용]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
12. {{HighlightBold|Inspector}} 화면을 닫아 주십시오.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;width:60px;float:left;&amp;quot; | {{HeadImageQuestion}}&lt;br /&gt;
| {{HighlightBold|Bag의 동작을 확인할 수 있었나요?}}&lt;br /&gt;
&lt;br /&gt;
첫줄에서는 임시변수 {{HighlightBold|mybag}}를 선언했습니다. 두 번째 행에서는 새로운 {{HighlightBold|bag}} 객체의 작성을 스몰토크에 지시, 임시변수에 그것을 대입했습니다. 세 번째 행에서는 Bag 객체에 {{HighlightBold|문자열}}로서 &amp;#039;dog&amp;#039;를 추가했습니다. 다음 행에서는 Bag 객체에 {{HighlightBold|문자열}}로서 &amp;#039;cat&amp;#039;을 추가했습니다. 그리고 &amp;#039;dog&amp;#039;를 2회, &amp;#039;cat&amp;#039;을 1회 추가했습니다. 그리고 Bag객체를 Inspect하도록 스몰토크에 지시했습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;dog&amp;#039;를 두 번째에 추가하는 코드를 실행하면, 스몰토크는 Bag 객체 안을 보고 &amp;#039;dog&amp;#039;가 이미 존재하는 것을 발견하고, &amp;#039;dog&amp;#039;의 카운트를 증가시키고, Bag에 &amp;#039;dog&amp;#039;를 넣습니다. 수많은 프로그래밍 언어에서는 자신이 이 프로그램을 적어야 합니다. 스몰토크에서는 언어 가운데 들어가 있습니다.&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;
{{HighlightBold|Bag}}는 어떠한 아이템이라도 격납할 수 있습니다. 그리고 각 아이템이 Bag 객체 가운데 얼마나 있는지 카운트한 값을 가지고 있습니다. Bag에는 관련된 메서드가 많이 있습니다만, 여기서는 Bag로 아이템을 추가하는 방법과 Bag의 각 아이템 카운트를 표시하는 방법만 설명했습니다.&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>