<?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%3APage03</id>
	<title>VisualWorksIntroduction:Page03 - 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%3APage03"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=VisualWorksIntroduction:Page03&amp;action=history"/>
	<updated>2026-04-21T11:13:16Z</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:Page03&amp;diff=2719&amp;oldid=prev</id>
		<title>Onionmixer: 문장 스타일 수정</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=VisualWorksIntroduction:Page03&amp;diff=2719&amp;oldid=prev"/>
		<updated>2012-12-13T10:06:30Z</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 10:06, 13 December 2012&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-l28&quot;&gt;Line 28:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 28:&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;아직 이 &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;구문의 &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;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;:{{CincomSmalltalkGreenFont|{{HighlightBold|4}}는 숫자입니다. 좀 더 구체적으로 말하면, {{HighlightBold|Integer}}(정수)라 불리우는 수입니다. 비주얼웍스에서 정수는 {{HighlightBold|SmallInteger}}와 {{HighlightBold|LargeInteger}}로 나뉩니다. 객체지향 용어에서 {{HighlightBold|4}}는 객체입니다. 그리고 {{HighlightBold|SmallInteger}}는 그 클래스입니다. 다른 말로 {{HighlightBold|&amp;quot;4는 SmallInteger 클래스의 인스턴스입니다&amp;quot;}}가 됩니다. &amp;quot;연어는 생선입니다&amp;quot;를 바꿔 말하면 &amp;quot;연어는 생선 클래스의 인스턴스입니다&amp;quot;가 됩니다.}}&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;:{{CincomSmalltalkGreenFont|{{HighlightBold|4}}는 숫자입니다. 좀 더 구체적으로 말하면, {{HighlightBold|Integer}}(정수)라 불리우는 수입니다. 비주얼웍스에서 정수는 {{HighlightBold|SmallInteger}}와 {{HighlightBold|LargeInteger}}로 나뉩니다. 객체지향 용어에서 {{HighlightBold|4}}는 객체입니다. 그리고 {{HighlightBold|SmallInteger}}는 그 클래스입니다. 다른 말로 {{HighlightBold|&amp;quot;4는 SmallInteger 클래스의 인스턴스입니다&amp;quot;}}가 됩니다. &amp;quot;연어는 생선입니다&amp;quot;를 바꿔 말하면 &amp;quot;연어는 생선 클래스의 인스턴스입니다&amp;quot;가 됩니다.}}&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:Page03&amp;diff=2718&amp;oldid=prev</id>
		<title>Onionmixer: VisualWorksIntroduction page03 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=VisualWorksIntroduction:Page03&amp;diff=2718&amp;oldid=prev"/>
		<updated>2012-12-13T08:43:03Z</updated>

		<summary type="html">&lt;p&gt;VisualWorksIntroduction page03 추가&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;
| 객체지향은 주로 세 가지 기반에 의해 구성되어 있습니다.&lt;br /&gt;
 &lt;br /&gt;
* 캡슐화(Encapsulation)&lt;br /&gt;
* 상속(Inheritance)&lt;br /&gt;
* 다형성(Polymorphism)&lt;br /&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;
| 이 입문서에서는 다형성의 간단한 설명과 프로그래밍상의 메서드를 설명하겠습니다.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;width:60px;float:left;&amp;quot; | {{HeadImageDesign}}&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;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
4 squared&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
아직 이 식의 설명을 읽지 않으셨다면 여기서 설명을 읽어주십시오.&lt;br /&gt;
&lt;br /&gt;
:{{CincomSmalltalkGreenFont|{{HighlightBold|4}}는 숫자입니다. 좀 더 구체적으로 말하면, {{HighlightBold|Integer}}(정수)라 불리우는 수입니다. 비주얼웍스에서 정수는 {{HighlightBold|SmallInteger}}와 {{HighlightBold|LargeInteger}}로 나뉩니다. 객체지향 용어에서 {{HighlightBold|4}}는 객체입니다. 그리고 {{HighlightBold|SmallInteger}}는 그 클래스입니다. 다른 말로 {{HighlightBold|&amp;quot;4는 SmallInteger 클래스의 인스턴스입니다&amp;quot;}}가 됩니다. &amp;quot;연어는 생선입니다&amp;quot;를 바꿔 말하면 &amp;quot;연어는 생선 클래스의 인스턴스입니다&amp;quot;가 됩니다.}}&lt;br /&gt;
&lt;br /&gt;
:{{CincomSmalltalkGreenFont|비주얼웍스는 거대한 클래스 라이브러리를 제공하고 있습니다. 이 라이브러리에는 클래스에 속하는 코드(메서드)가 포함되어 있습니다. 이것들의 메서드는 컴퓨터(컴퓨터 언어)에 처리를 요구하는 기능을 가지고 있습니다. 예를들어 수치가 왔을 경우 더하기, 빼기, 곱하기, 나누기를 컴퓨터에 요구합니다. 또한 &amp;quot;squared&amp;quot;(제곱)을 계산하기 위해서는 더욱 고도의 수학적 기능을 실행하도록 요구할 것입니다.}}&lt;br /&gt;
&lt;br /&gt;
:{{CincomSmalltalkGreenFont|위의 식에서는 {{HighlightBold|4}}(SmallInteger 클래스의 인스턴스)에 squared 메시지가 송신되어 있습니다.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style:normal;color:black;font-size:120%;&amp;quot;&amp;gt;여기서 질문이 있습니다. Smalltalk의 클래스 라이브러리 가운데 {{HighlightBold|squared}} 메서드를 어떻게 찾아내나요?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HighlightBold|squared}} 메서드는 {{HighlightBold|SmallInteger}} 클래스에 속해있다고 가정합시다. 스몰토크는 메서드를 SmallInteger 클래스에서 발견합니다. 이것은 작은 정수로, {{HighlightBold|squared}} 메서드가 실행되는 것을 의미합니다. &amp;quot;제곱&amp;quot;은 그 숫자 자신을 곱하라는 것을 의미인데, 3.14같은 숫자는 &amp;quot;제곱&amp;quot;이 가능할까요? {{HighlightBold|squared}} 메서드가 SmallInteger 클래스에만 속해있다면 대답은 NO입니다. 하지만 3.14와 같은 숫자를 &amp;quot;제곱&amp;quot;할 수 있게 해야한다고 누군가 주장할지도 모릅니다. 스몰토크에서 3.14는 {{HighlightBold|Float}} 클래스의 인스턴스입니다. Float (short for floating decimal)은 정수가 아닙니다. 하지만 소수는 곳곳에서 쓰입니다.(예를 들자면 0.12나 12.3456) 문제해결의 한 방편으로서 Float 클래스에 제곱 메서드를 추가하는 건 어떨까요?&lt;br /&gt;
&lt;br /&gt;
이 방법으로 인한 문제해결은 어느 부분이 부적절할까요?&lt;br /&gt;
&lt;br /&gt;
이 해결책이 좋지 않은 이유는 명확합니다.&lt;br /&gt;
&lt;br /&gt;
* {{HighlightBold|코드가 중복되기 때문에 라이브러리 사이즈가 증가합니다.}}&lt;br /&gt;
* {{HighlightBold|원래 있던 제곱 메서드에 버그가 있는 경우라면 하나 뿐만이 아닌 두 가지 메서드를 수정해야 할 필요가 있습니다.}}&lt;br /&gt;
* {{HighlightBold|큰 정수나 분수형과 같은 수치형에서는 사용할 수 없습니다.}}	&lt;br /&gt;
&lt;br /&gt;
문제해결책은 바로, 모든 수치형에 사용할 수 있는 클래스에만 {{HighlightBold|squared}} 메서드를 이행하는 것입니다.&lt;br /&gt;
&lt;br /&gt;
다형성(Polymorphism)이란 단어는  두 가지 단어로 이루어져 있습니다. &amp;quot;Poly&amp;quot;는 &amp;quot;many&amp;quot;(많은)의 의미이며, &amp;quot;morph&amp;quot;는 &amp;quot;form&amp;quot;(형태)의 의미입니다. 때문에 다형성은, 재사용을 가능케하는 &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;
| &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;
스몰토크에서는 나중에 메서드 전체 라이브러리에 억세스하는 법을 배웁니다. 자신의 메서드 작성을 가능케 하고, 또한 필요한 클래스에 대응해서도 연관짓습니다. 이러한 이념은 바로 &amp;quot;단 한번&amp;quot; 코드를 짜는 것 만으로도 가능한 한 많은 객체에 사용할 수 있는 코드를 짜는 것입니다.&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>