<?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=GnuSmalltalkUsersGuide%3ABaseChapter_032</id>
	<title>GnuSmalltalkUsersGuide:BaseChapter 032 - 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=GnuSmalltalkUsersGuide%3ABaseChapter_032"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_032&amp;action=history"/>
	<updated>2026-05-02T00:14:14Z</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=GnuSmalltalkUsersGuide:BaseChapter_032&amp;diff=4019&amp;oldid=prev</id>
		<title>Onionmixer: GSUG ClassDescription 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_032&amp;diff=4019&amp;oldid=prev"/>
		<updated>2014-01-23T07:56:30Z</updated>

		<summary type="html">&lt;p&gt;GSUG ClassDescription 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;ClassDescription&lt;br /&gt;
&lt;br /&gt;
==ClassDescription==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;네임스페이스 Smalltalk에 정의됨&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;슈퍼클래스: Behavior&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;범주: 언어-구현&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:나의 인스턴스들은 클래스를 범주별로 접근하는 메서드를 제공하고, 클래스의 전체 범주를 외부 디스크 파일로 file out할 수 있도록 해준다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ClassDescription: 컴파일하기===&lt;br /&gt;
&lt;br /&gt;
====compile: code classified: categoryName====&lt;br /&gt;
&lt;br /&gt;
수신자 내에서 코드를 컴파일하고, 주어진 범주로 메서드를 할당하라. 새로 생성된 CompiledMethod를 응답하고, 오류가 발견될 경우 nil을 응답하라.&lt;br /&gt;
&lt;br /&gt;
====compile: code classified: categoryName ifError: block====&lt;br /&gt;
&lt;br /&gt;
메서드 범주, categoryName에 메서드 소스를 컴파일 및 설치하라. 파싱 오류가 발견되면 오류 블록 &amp;#039;block&amp;#039;을 호출하라 (compile:ifError: 참고). 메서드를 리턴하라. &lt;br /&gt;
&lt;br /&gt;
====compile: code classified: categoryName notifying: requestor====&lt;br /&gt;
&lt;br /&gt;
메서드 범주, categoryName에 메서드 소스를 컴파일 및 설치하라. 파싱 오류가 발견되면 요청자에게 오류 메시지를 전송하라. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ClassDescription: 변환===&lt;br /&gt;
&lt;br /&gt;
====asClass====&lt;br /&gt;
&lt;br /&gt;
해당 메서드의 기능은 ClassDescription의 서브클래스에 의해 구현되어야 한다. &lt;br /&gt;
&lt;br /&gt;
====asMetaclass====&lt;br /&gt;
&lt;br /&gt;
수신자에 연관된 메타클래스를 응답하라. &lt;br /&gt;
&lt;br /&gt;
====binding====&lt;br /&gt;
&lt;br /&gt;
수신자를 값으로 가진 VariableBinding 객체를 응답하라. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ClassDescription: 복사하기===&lt;br /&gt;
&lt;br /&gt;
====copy: selector from: aClass====&lt;br /&gt;
&lt;br /&gt;
aClass로부터 주어진 선택자를 복사하고 이를 동일한 범주에 할당하라. &lt;br /&gt;
&lt;br /&gt;
====copy: selector from: aClass classified: categoryName====&lt;br /&gt;
&lt;br /&gt;
aClass로부터 주어진 선택자를 복사하고 이를 동일한 범주에 할당하라. &lt;br /&gt;
&lt;br /&gt;
====copyAll: arrayOfSelectors from: class====&lt;br /&gt;
&lt;br /&gt;
arrayOfSelectors 안의 모든 선택자를 클래스로부터 복사하고, 클래스 내 선택자들과 같은 범주로 할당하라. &lt;br /&gt;
&lt;br /&gt;
====copyAll: arrayOfSelectors from: class classified: categoryName====&lt;br /&gt;
&lt;br /&gt;
arrayOfSelectors 안의 모든 선택자를 aClass로부터 복사하고, 주어진 범주에 할당하라. &lt;br /&gt;
&lt;br /&gt;
====copyAllCategoriesFrom: aClass====&lt;br /&gt;
&lt;br /&gt;
aClass 안의 모든 선택자를 복사하고 원래 범주에 할당하라. &lt;br /&gt;
&lt;br /&gt;
====copyCategory:categoryName from: aClass====&lt;br /&gt;
&lt;br /&gt;
aClass로부터 주어진 범주에 속하는 선택자를 모두 복사하라. &lt;br /&gt;
&lt;br /&gt;
====copyCategory:categoryName from: aClass classified: newCategoryName====&lt;br /&gt;
&lt;br /&gt;
aClass로부터 주어진 범주에 속하는 선택자를 모두 복사하고, 주어진 범주에 속하는 선택자로 재분류하라. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ClassDescription: 정리하기===&lt;br /&gt;
&lt;br /&gt;
====fileOut: fileName====&lt;br /&gt;
&lt;br /&gt;
주어진 파일을 열고 파일에 전체 클래스 설명을 file out하라. Parser 패키지가 필요하다. &lt;br /&gt;
&lt;br /&gt;
====fileOutCategory:categoryName to: fileName====&lt;br /&gt;
&lt;br /&gt;
메서드 범주 categoryName에 속하는 모든 메서드를 filename 파일로 file out하라. Parser 패키지가 필요하다.&lt;br /&gt;
&lt;br /&gt;
====fileOutOn: aFileStream====&lt;br /&gt;
&lt;br /&gt;
전체 클래스 설명을 file out하라: 클래스 정의, 클래스 및 인스턴스 메서드. Parser 패키지가 필요하다.&lt;br /&gt;
&lt;br /&gt;
====fileOutSelector: selector to: fileName====&lt;br /&gt;
&lt;br /&gt;
주어진 선택자를 fileName으로 file out하라. Parser 패키지가 필요하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ClassDescription: 메시지와 클래스의 구성===&lt;br /&gt;
&lt;br /&gt;
====classify: aSelector under: aString====&lt;br /&gt;
&lt;br /&gt;
선택자 aSelector가 식별한 메서드를 aString에 의해 주어진 범주로 넣어라.&lt;br /&gt;
&lt;br /&gt;
====createGetMethod: what====&lt;br /&gt;
&lt;br /&gt;
변수 &amp;#039;what&amp;#039;으로 접근하기 위한 메서드를 생성하라. &lt;br /&gt;
&lt;br /&gt;
====createGetMethod: what default: value====&lt;br /&gt;
&lt;br /&gt;
느긋한 초기화를 이용해 기본값 &amp;#039;value&amp;#039;로 변수 &amp;#039;what&amp;#039;에 접근하는 메서드를 생성하라. &lt;br /&gt;
&lt;br /&gt;
====createSetMethod: what====&lt;br /&gt;
&lt;br /&gt;
변수 &amp;#039;what&amp;#039;을 설정하는 메서드를 생성하라. &lt;br /&gt;
&lt;br /&gt;
====defineAsyncCFunc: cFuncNameString withSelectorArgs: selectorAndArgs args: argsArray====&lt;br /&gt;
&lt;br /&gt;
문서를 참고하라. 해당 함수는 사라졌으므로 특수 구문 &amp;lt;asyncCCall: ... &amp;gt;을 대신 사용해야 한다.&lt;br /&gt;
&lt;br /&gt;
====defineCFunc: cFuncNameString withSelectorArgs: selectorAndArgs returning: returnTypeSymbol args: argsArray====&lt;br /&gt;
&lt;br /&gt;
문서를 참고하라. 해당 함수는 사라졌으므로 특수 구문 &amp;lt;asyncCCall: ... &amp;gt;을 대신 사용해야 한다.&lt;br /&gt;
&lt;br /&gt;
====removeCategory:aString====&lt;br /&gt;
&lt;br /&gt;
주어진 범주에 속하는 메서드를 모두 수신자로부터 제거하라. &lt;br /&gt;
&lt;br /&gt;
====whichCategoryIncludesSelector: selector====&lt;br /&gt;
&lt;br /&gt;
주어진 선택자에 대한 범주를 응답하고, 선택자를 찾을 수 없다면 nil을 응답하라. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ClassDescription: 클래스 선언 파싱하기===&lt;br /&gt;
&lt;br /&gt;
====addSharedPool: aDictionary====&lt;br /&gt;
&lt;br /&gt;
주어진 공유 풀을 클래스의 풀 dictionary 리스트로 추가하라.&lt;br /&gt;
&lt;br /&gt;
====import: aDictionary====&lt;br /&gt;
&lt;br /&gt;
주어진 공유 풀을 클래스의 풀 dictionary 리스트로 추가하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ClassDescription: 인쇄하기===&lt;br /&gt;
&lt;br /&gt;
====classVariableString====&lt;br /&gt;
&lt;br /&gt;
해당 메서드의 기능은 ClassDescription의 서브클래스에 의해 구현되어야 한다.&lt;br /&gt;
&lt;br /&gt;
====instanceVariableString====&lt;br /&gt;
&lt;br /&gt;
수신자의 인스턴스 변수명을 포함하는 문자열을 응답하라. &lt;br /&gt;
&lt;br /&gt;
====nameIn: aNamespace====&lt;br /&gt;
&lt;br /&gt;
aNamespace에서 클래스를 참조할 때 클래스명을 응답하라. &lt;br /&gt;
&lt;br /&gt;
====printOn: aStream in: aNamespace====&lt;br /&gt;
&lt;br /&gt;
aNamespace에서 클래스를 참조할 때 클래스명을 aStream 상에 인쇄하라.&lt;br /&gt;
&lt;br /&gt;
====sharedVariableString====&lt;br /&gt;
&lt;br /&gt;
해당 메서드의 기능은 ClassDescription의 서브클래스에 의해 구현되어야 한다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ClassDescription: 아직 분류되지 않음===&lt;br /&gt;
&lt;br /&gt;
====fileOutCategory:category toStream: aFileStream====&lt;br /&gt;
&lt;br /&gt;
메서드 범주 category에 속한 메서드를 모두 aFileStream으로 file out하라. Parser 패키지가 필요하다.&lt;br /&gt;
&lt;br /&gt;
====fileOutSelector: aSymbol toStream: aFileStream====&lt;br /&gt;
&lt;br /&gt;
메서드 범주 category에 속한 메서드를 모두 aFileStream으로 file out하라. Parser 패키지가 필요하다.&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:GnuSmalltalkUsersGuide]]&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>