SqueakByExample:1.8
클래스 찾기 (Finding classes)
스퀵에서 클래스를 찾는 여러 가지 방법이 있습니다. 우선 첫째로, 우리가 위에서 방금 보았듯이, 어떤 카테고리에 클래스가 있는지를 알아내고(또는 추측), 브라우저를 사용하여 그 클래스를 찾기 위해 돌아다니는 것입니다.
두 번째 방법은 클래스에게, 클래스 위에서 브라우저를 열어달라고 문의하여, 검색 메시지(the browse message)를 클래스에 보내는 것입니다. 우리가 클래스 불리언(the class Boolean) 검색을 원한다고 가정해 봅시다.
워크스페이스에 Boolean browse 를 타이핑하고 do it을 실행합니다.
브라우저는 불리언 클래스(the Boolean class, 그림 1.16)에서 열릴 것입니다. 여러분이 클래스 이름을 찾고, 이름을 선택하고 CMD-b를 타이핑하는 모든 도구에서 사용할 수 있는 키보드 바로가기 메뉴 CMD-b[검색(browse)]가 존재합니다.
Boolean 클래스를 검색하기 위해 키보드 바로가기 메뉴를 사용합니다.
불리언 클래스(Boolean class)가 선택되었지만, 프로토콜과 메소드가 선택되지 않았으면, 상단에 네 개의 패널 밑에 하나의 패널이 아닌 두 개의 패널이 나타납니다. 위의 패널은 클래스 정의(the class definition)을 포함합니다. 이것은 서브클래스 만들기를 문의하여 부모 클래스(the parent class)에 보내진 평범한 스몰토크 메시지일 뿐입니다. 여기에 우리가 볼 수 있는 클래스 오브젝트는 인스턴스 변수, 클래스 변수 또는 “공동 사전(pool dictionary)”을 갖지 않는 서브클래스 만들기를 요청 받고 있으며 커널 오브젝트 카테고리(the kernel-object category)에 클래스 불리언을 집어넣도록 요청 받고 있습니다.
아래 패널은 클래스 주석(the class comment)을 보여줍니다-클래스를 기술하는 평문(plain-text) 조각- 만약 여러분이 클래스 패널 아래에 있는 ?를 클릭하면, 전용 패널에서 클래스 주석을 볼 수 있을 것입니다.
만약 여러분이 스퀵의 상속 계층도(inheritance hierarchy)를 탐색하기 원한다면, 계층도 브라우저(the hierarchy browser)가 그 작업을 도와드릴 것입니다. 이 브라우저를 여러분이 알려진 클래스의 알려지지 않은 서브클래스(subclass) 또는 수퍼클래스(superclass)를 찾을 때 유용하게 사용할 수 있습니다. 계층도 브라우저는 상속 계층도를 미러링하는 들쭉날쭉한 트리구조로 배열됩니다.
Boolean클래스를 선택하고, 브라우저에 있는 계층도(hierachy)를 클릭합니다.
이 작업은 수퍼클래스와 서브클래스를 보여주는 계층도 브라우저(hierarchy browser)를 열 것입니다. 불리언의 즉석 수퍼클래스와 하위 클래스로 이동합니다.
종종 클래스를 찾는 가장 빠른 방법은 그 클래스의 이름으로 검색하는 것입니다. 예를 들면, 여러분이 날짜와 시간을 나타내는 알려지지 않은 클래스를 찾고 있다고 가정해 보십시오.
시스템 브라우저의 시스템 카테고리 패널(the system category pane)에 마우스 커서를 대고, CMD-f 를 누르거나 노랑색 버튼 메뉴에서 find class…(f)를 선택합니다. 대화상자에(dialog box) "time"을 타이핑하고 수락(accept)합니다.
여러분은 "time”을 포함하는 이름을 가진 클래스의 목록을 제시 받을 것입니다. (그림 1.17을 보십시오) 한 개를 고른 후, Time을 말하면, 브라우저는, 유용하게 사용할 수 있는 다른 클래스 이름을 제안하는 클래스 주석과 함께, 목록을 보여드릴 것입니다. 만약 여러분이 다른 클래스의 목록들 중 하나를 검색하기 원한다면, 그 클래스의 이름을 선택하고(아무 텍스트 패널에서) CMD-b를 타이핑합니다.
그림 1.17: 클래스를 이름으로 검색하기 |
만약 찾기 다이얼로그(the find dialog)에서 클래스의 완전한 이름을(정확하게 대소문자 구별) 타이핑하였다면, 브라우저는 옵션의 목록을 보여주지 않고 바로 타이핑한 클래스로 이동할 것입니다.