SqueakByExample:3.2

From 흡혈양파의 번역工房
Revision as of 10:00, 21 February 2013 by Onionmixer (talk | contribs) (번역 수정)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

가상 변수

스몰토크에서는, 여섯개의 예약어가 있는데 이를 가상 변수Psudo-valiables라고도 합니다: nil, true, false, self, super, thisContext 가 바로 그것입니다. 의사변수라고 부른 이유는 사전에 정의하거나 할당할 수 없기 때문입니다. 코드가 수행되는 중에 self, super, thisContext의 값은 코드를 실행하면서 동적으로 바뀌는 반면에 true, false, nil 은 상수입니다.


truefalse는 Boolean클래스 True와 False의 고유한 인스턴스 입니다. 더 자세한 내용은 8장을 참조하십시오.


self는 항상 현재 메서드를 실행 중인 수신자를 참조합니다.


super는 항상 현재 메서드의 수신자를 참조하지만, 메시지를 super로 보내면, 메서드 검색 위치가 바뀌어서, super를 사용하는 메서드를 포함하는 클래스의 상위 클래스에서 시작합니다. 더 자세한 내용은 5장을 참조하십시오.


nil은 정의하지 않은 오브젝트를 의미합니다. 이것은 클래스 UndefinedObject의 고유한 인스턴스입니다. 인스턴스 변수, 클래스 변수, 지역 변수는 nil로 초기화 합니다.


thisContext는 실행 시간 스택의 최상위 프레임을 나타내는 의사 변수입니다. 달리 말해, 현재 실행 중인 MethodContext 또는 BlockContext를 나타냅니다. thisContext는 보통 대부분의 프로그래머들이 관심을 가지지 않지만, 디버거와 같은 개발 도구를 실행하기 위해 필수적이며, 예외 처리및 계속 실행을 구현하기 위해 사용하기도 합니다.


Notes