SqueakByExample:12: Difference between revisions

From 흡혈양파의 번역工房
Jump to navigation Jump to search
(SBE 12장도입 페이지 추가)
 
(번역수정)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
==클래스와 메타클래스(Classes and metaclasses)==
==클래스와 메타클래스==
 
5장에서 이미 알아봤다시피, 스몰토크에서 모든것은 객체이며, 객체는 어떤 클래스의 인스턴스가 됩니다. 클래스도 예외는 아닙니다: 클래스는 객체이며 클래스 객체는 다른 클래스의 인스턴스가 됩니다. 이런 객체 모델은, 전체가 간결하고 단순하며 우아한 개념으로 되어있습니다. 그리고 객체모델은 객체지향 프로그래밍의 핵심을 가지고 있습니다, 하지만 다른솔루션(또는 다른환경)을 쓰던 사람에게 이런 통일성은 혼란스러울 수도 있습니다. 지금 보고계시는 12 장에서는 이런 시스템이 마법<sup>magic</sup> 이나 특별한것이 아니며 그리 복잡하지 않다는것을 알려드리고 싶습니다: 사실 간단한 규칙으로 구성되어있죠. 이런 규칙들을 따라가다 보면 왜 스몰토크의 시스템이 이렇게 구성되어 있는지를 알 수 있을거라 생각합니다.
 


우리가 스몰토크에서 5장에서 보았듯이, 모든 것은 오브젝트이며 오브젝트는 클래스의 인스턴스입니다. 클레스들은 예외(exception)가 없습니다: 클래스는 오브젝트이며, 클래스 오브젝트는 다른 클래스의 인스턴스 입니다. 오브젝트 모델은 객체 지향 프로그래밍(object-oriented programming)의 정수를 캡쳐합니다: 이 모델은 군살이 없고 탄탄하며, 단순하고, 우아하며, 균일합니다. 그럼에도 불구하고 이 균일성(uniformity)의 함의는 초보자에게 혼란을 줄 수 있습니다. 이 12장의 목적은 “매직(magic)” 또는 여기서의 특별함(special)에 어떤 복잡한 것이 없다는 것을 보여드리는 일에 있습니다: 단지 단순한 규칙들이 일정하게 적용되었습니다. 여러분은 이 규칙들을 따름으로써, 상황이 왜 그 방식으로 이루어졌는지를 항상 이해하실 수 있을 것입니다.


[[Category:SqueakByExample]]
[[Category:SqueakByExample]]

Latest revision as of 11:10, 16 September 2013

클래스와 메타클래스

5장에서 이미 알아봤다시피, 스몰토크에서 모든것은 객체이며, 객체는 어떤 클래스의 인스턴스가 됩니다. 클래스도 예외는 아닙니다: 클래스는 객체이며 클래스 객체는 다른 클래스의 인스턴스가 됩니다. 이런 객체 모델은, 전체가 간결하고 단순하며 우아한 개념으로 되어있습니다. 그리고 객체모델은 객체지향 프로그래밍의 핵심을 가지고 있습니다, 하지만 다른솔루션(또는 다른환경)을 쓰던 사람에게 이런 통일성은 혼란스러울 수도 있습니다. 지금 보고계시는 12 장에서는 이런 시스템이 마법magic 이나 특별한것이 아니며 그리 복잡하지 않다는것을 알려드리고 싶습니다: 사실 간단한 규칙으로 구성되어있죠. 이런 규칙들을 따라가다 보면 왜 스몰토크의 시스템이 이렇게 구성되어 있는지를 알 수 있을거라 생각합니다.