SqueakByExample:12.7: Difference between revisions

From 흡혈양파의 번역工房
Jump to navigation Jump to search
(SBE Metaclass의metaclass는Metaclass의인스턴스입니다 페이지 추가)
 
(번역수정)
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Metaclass의 metaclass는 Metaclass의 인스턴스입니다.==
==Metaclass 의 메타클래스는 Metaclass의 인스턴스입니다.==


[[image:TranslucentMetaclassClassClass.png|none|1024px|thumb|그림 12.10: 모든 메타클래스들은 심지어 Metaclass의 metaclass이기도 한, 클래스 Metaclass의 인스턴스입니다.(12.6에 같은 그림이 있습니다)]]
[[image:TranslucentMetaclassClassClass.png|none|1024px|thumb|그림 12.10: 모든 메타클래스들은 심지어 Metaclass의 메타클래스이기도 한, 클래스 Metaclass의 인스턴스입니다.(12.6에 같은 그림이 있습니다)]]




답변되어야 할 마지막 질문은 Metaclass class의 클래스가 무엇인가? 입니다.
답변되어야 할 마지막 질문은 Metaclass class의 클래스가 무엇인가? 입니다.


답변은 단순합니다. 그 클래스는 메타클래스(metaclass)이며, 시스템에 있는 모든 다른 메타클래스(metaclases)들 처럼, 반드시 Metaclass의 인스턴스가 되어야 합니다. (그림 12.10을 보십시오)
답변은 단순합니다. 그 클래스는 메타클래스이며, 시스템에 있는 모든 다른 메타클래스들 처럼, 반드시 Metaclass의 인스턴스가 되어야 합니다. (그림 12.10을 보십시오)


그림은 Metaclass 자체의 metaclass를 포함하여, 어떻게 모든 metaclass가 Metaclass의 인스턴스인지를 보여드립니다. 만약 여러분이 그림 12.9와 12.10을 비교하신다면, 메타클래스 계층도(the metaclass hierarchy)가, 오브젝트 클래스에 이르기까지 클래스 계층도(class hierarchy)를 어떻게 완벽하게 반영(mirror)하는지를 보게 되실 것입니다.
그림은 Metaclass 자체의 메타클래스를 포함하여, 어떻게 모든 메타클래스 Metaclass의 인스턴스인지를 보여드립니다. 만약 여러분이 그림 12.9와 12.10을 비교하신다면, 메타클래스 계층이, 오브젝트 클래스에 이르기까지 클래스 계층을 어떻게 완벽하게 반영하는지를 보게 되실 것입니다.


다음 예시는, 그림 12.10이 정확하다는 것을 나타내기 위해 클래스 계층도를 조회하는 방법을 보여드립니다. (실제로, 여러분은 우리가 악의없는 거짓말을 하였다는 것을 알게 되실 것입니다.  Object class superclass ⇒ ProtoObject class이며, ⇒ Class가 아닙니다. 스퀵에서, 우리는 Class에 도달하기 위해 더 높은 superclass로 가야 합니다)
다음 예시는, 그림 12.10이 정확하다는 것을 나타내기 위해 클래스 계층도를 조회하는 방법을 보여드립니다. (실제로, 여러분은 우리가 악의없는 거짓말을 하였다는 것을 알게 되실 것입니다.  Object class superclass ⇒ ProtoObject class이며, ⇒ Class가 아닙니다. 스퀵에서, 우리는 Class에 도달하기 위해 더 높은 상위 클래스로 가야 합니다)




예시 12.1: 클래스 계층도 (The class hierarchy)
예시 12.1: 클래스 계층
 
<syntaxhighlight lang="smalltalk">
<syntaxhighlight lang="smalltalk">
TranslucentColor superclass    ⇒    Color
TranslucentColor superclass    ⇒    Color
Line 20: Line 21:




예시 12.2: 평행 메타클래스 계층도(The parallel metaclass hierarchy)
예시 12.2: 평행 메타클래스 계층
 
<syntaxhighlight lang="smalltalk">
<syntaxhighlight lang="smalltalk">
TranslucentColor class superclass    ⇒    Color class
TranslucentColor class superclass    ⇒    Color class
Line 32: Line 34:


예시 12.3: Metaclass의 인스턴스
예시 12.3: Metaclass의 인스턴스
<syntaxhighlight lang="smalltalk">
<syntaxhighlight lang="smalltalk">
TranslucentColor class class    ⇒    Metaclass
TranslucentColor class class    ⇒    Metaclass
Line 40: Line 43:




예시 12.3: Metaclass의 class는 Metaclass입니다
예시 12.3: Metaclass 의 class 는 Metaclass 입니다
 
<syntaxhighlight lang="smalltalk">
<syntaxhighlight lang="smalltalk">
Metaclass class class    ⇒    Metaclass
Metaclass class class    ⇒    Metaclass
Metaclass superclass    ⇒    ClassDescription
Metaclass superclass    ⇒    ClassDescription
</syntaxhighlight>
</syntaxhighlight>





Revision as of 15:58, 16 September 2013

Metaclass 의 메타클래스는 Metaclass의 인스턴스입니다.

그림 12.10: 모든 메타클래스들은 심지어 Metaclass의 메타클래스이기도 한, 클래스 Metaclass의 인스턴스입니다.(12.6에 같은 그림이 있습니다)


답변되어야 할 마지막 질문은 Metaclass class의 클래스가 무엇인가? 입니다.

답변은 단순합니다. 그 클래스는 메타클래스이며, 시스템에 있는 모든 다른 메타클래스들 처럼, 반드시 Metaclass의 인스턴스가 되어야 합니다. (그림 12.10을 보십시오)

그림은 Metaclass 자체의 메타클래스를 포함하여, 어떻게 모든 메타클래스 Metaclass의 인스턴스인지를 보여드립니다. 만약 여러분이 그림 12.9와 12.10을 비교하신다면, 메타클래스 계층이, 오브젝트 클래스에 이르기까지 클래스 계층을 어떻게 완벽하게 반영하는지를 보게 되실 것입니다.

다음 예시는, 그림 12.10이 정확하다는 것을 나타내기 위해 클래스 계층도를 조회하는 방법을 보여드립니다. (실제로, 여러분은 우리가 악의없는 거짓말을 하였다는 것을 알게 되실 것입니다. Object class superclass ⇒ ProtoObject class이며, ⇒ Class가 아닙니다. 스퀵에서, 우리는 Class에 도달하기 위해 더 높은 상위 클래스로 가야 합니다)


예시 12.1: 클래스 계층

TranslucentColor superclass        Color
Color superclass        Object


예시 12.2: 평행 메타클래스 계층

TranslucentColor class superclass        Color class
Color class superclass        Object class
Object class superclass superclass        Class "NB: skip ProtoObject class"
Class superclass        ClassDescription
ClassDescription superclass        Behavior
Behavior superclass        Object


예시 12.3: Metaclass의 인스턴스

TranslucentColor class class        Metaclass
Color class class        Metaclass
Object class class        Metaclass
Behavior class class        Metaclass


예시 12.3: Metaclass 의 class 는 Metaclass 입니다

Metaclass class class        Metaclass
Metaclass superclass        ClassDescription


Notes