SqueakByExample:12.6: Difference between revisions

From 흡혈양파의 번역工房
Jump to navigation Jump to search
mNo edit summary
(문수수정)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
==모든 메타 클래스는 메타클래스의 인스턴스입니다.==
==모든 메타클래스는 Metaclass 의 인스턴스이다.==


[[image:TranslucentMetaclassClass.png|none|1024px|thumb|그림 12.9:모든메타클래스는 메타클래스입니다(12.5장에 같은 그림이 있습니다)]]
[[image:TranslucentMetaclassClass.png|none|1024px|thumb|그림 12.9: 모든 메타클래스는 Metaclass 입니다]]




그림 12.9에 보이는 것 처럼, 메타 클래스들 또한 오브젝트들이며, 클래스 메타 클래스들의 인스턴스들입니다. 클래스 메타클래스의 인스턴스들은 익명 매타클래스들이며, 각각의 익명 메타클래스는 정확히 1 개의 메타클래스를 갖고 있으며 그 메타클래스는 클래스입니다.
그림 12.9 에 보이는 것 처럼, 메타클래스 역시 객체이며, 메타클래스는 Metaclass 의 인스턴스 입니다. Metaclass 의 인스턴스는 익명의 메타클래스가 되며, 익명의 메타클래스는 각각 유일한 인스턴스를 가지게 됩니다. 이런 각각의 유일한 인스턴스를 클래스라고 합니다.




[[image:TranslucentMetaclassClassClass.png|none|1024px|thumb|그림 12.10: 모든 메타클래스들은 심지어 Metaclass의 metaclass이기도 한, 클래스 Metaclass의 인스턴스입니다.]]
Metaclass 는 메타클래스에서 공통적으로 필요한 동작을 제공합니다. 메타클래스의 유일한 인스턴스에 대해서 초기화된 인스턴스를 생성하는 인스턴스생성(subclassOf:), 클래스 변수의 초기화, 메타클래스의 인스턴스, 메서드 컴파일, 그리고 클래스의 정보(상속관계, 인스턴스변수)에 대한 메서드등이 그것입니다.
 
 
메타클래스는 공통 메타 클래스 동작(metaclass behavior)을 나타냅니다. 그것은 초기화된 메타클래스의 단일 인스턴스들과 클래스 변수들의 초기화, 메타클래스 인스턴스(metaclass instace), 메서드 편찬(method compilation), 그리고 클래스 정보를 만드는[상속 링크(inheritance links), 인스턴스 변수(instance variables)등] 인스턴스 생성(subclassOf)을 위한 메서드들을 제공합니다.





Latest revision as of 16:10, 16 September 2013

모든 메타클래스는 Metaclass 의 인스턴스이다.

그림 12.9: 모든 메타클래스는 Metaclass 입니다


그림 12.9 에 보이는 것 처럼, 메타클래스 역시 객체이며, 메타클래스는 Metaclass 의 인스턴스 입니다. Metaclass 의 인스턴스는 익명의 메타클래스가 되며, 익명의 메타클래스는 각각 유일한 인스턴스를 가지게 됩니다. 이런 각각의 유일한 인스턴스를 클래스라고 합니다.


Metaclass 는 메타클래스에서 공통적으로 필요한 동작을 제공합니다. 메타클래스의 유일한 인스턴스에 대해서 초기화된 인스턴스를 생성하는 인스턴스생성(subclassOf:), 클래스 변수의 초기화, 메타클래스의 인스턴스, 메서드 컴파일, 그리고 클래스의 정보(상속관계, 인스턴스변수)에 대한 메서드등이 그것입니다.


Notes