<?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=SmalltalkBestPracticePatterns%3A6.3</id>
	<title>SmalltalkBestPracticePatterns:6.3 - 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=SmalltalkBestPracticePatterns%3A6.3"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=SmalltalkBestPracticePatterns:6.3&amp;action=history"/>
	<updated>2026-05-02T09:43:05Z</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=SmalltalkBestPracticePatterns:6.3&amp;diff=3547&amp;oldid=prev</id>
		<title>Onionmixer: SBPP 6.3 자격이 있는 서브클래스명 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=SmalltalkBestPracticePatterns:6.3&amp;diff=3547&amp;oldid=prev"/>
		<updated>2013-07-29T09:20:05Z</updated>

		<summary type="html">&lt;p&gt;SBPP 6.3 자격이 있는 서브클래스명 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;6.3 자격이 있는 서브클래스명&lt;br /&gt;
&lt;br /&gt;
==자격이 있는 서브클래스명==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Simple Superclass Name(p.168)을 생성하였다.&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* 새로운 서브클래스를 어떻게 명명하는가?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
클래스를 명명하는 한 가지 방법으로 그 목적을 알려주는 유일한 이름을 붙이는 방식이 잇다. 유일한 이름은 길고 불편한 이름을 생성하지 않고도 많은 정보를 전달할 기회를 제공한다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
이는 흔히 사용되는 이름일 때 취하면 좋은 방법이다. Array는 Collection의 서브클래스인데, 많은 소프트웨어 기술자들이 &amp;quot;Array&amp;quot;를 읽음으로써 클래스의 특성을 올바르게 예상하기 때문이다. Number는 Magnitude의 서브클래스인데, 그 이유는 규모성(Magnitude-ness)보단 숫자성(Number-ness)이 의사소통에 훨씬 더 중요하기 때문이다. 모두들 무엇인지 알고 있는 String도 Collection의 서브클래스에 해당한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
코드 공유를 위해 상속을 엄격하게 사용하지만 서브클래스의 역할이 슈퍼클래스의 역할과 다른 경우가 종종 있는데 그 때마다 필자는 Simple Superclass Name(간단한 슈퍼클래스명)으로 돌아간다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
보통은 코드의 상속 구조를 독자가 이해하는 것이 중요한데, 특히 서브클래스가 개념적으로 슈퍼클래스 상에서 변형(variation)인 동시에 implementation을 공유할 때 그러하다. 당신이 전달해야 하는 두 가지 정보 조각은 다음과 같다:&lt;br /&gt;
&lt;br /&gt;
* 새로운 클래스가 어떻게 같은지;&lt;br /&gt;
* 새로운 클래스가 어떻게 다른지.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
새로운 클래스가 어떻게 같은지는 일부 슈퍼클래스를 명명함으로써 전달할 수 있다. 좀 더 먼 조상이 더 명확하게 전달하는 경우에는 굳이 직속(immediate) 슈퍼클래스가 아니어도 된다. &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;
* OrderedCollection은 요소들이 정리된(Ordered) Collection이다. &lt;br /&gt;
* SortedCollection은 요소들이 정렬된(Sorted) Collection이다. SortedCollection가 OrderedCollection을 서브클래싱(subclass)하긴 하지만 SortedOrderedCollection이라고 부르진 않을 것이다. OrderedCollection의 서브클래싱을 선택할 경우, 두 개의 컬렉션이 유사한 역할을 수행해서가 아니라 철저히 구현상의 이유로 내린 선택이다.&lt;br /&gt;
* LargeInteger는 많은 비트를 취하여 표현하는 Integer이다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:SmalltalkBestPracticePatterns]]&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>