SqueakByExample:1.8

From 흡혈양파의 번역工房
Revision as of 08:27, 12 August 2017 by Onionmixer (talk | contribs) (책 검수)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

클래스 찾기

스퀵에서 클래스를 찾는 데에는 여러가지 방법이 있습니다. 우선 첫째로, 앞에서 보신 바와 같이, 어떤 카테고리에 클래스가 있는지를 알아내고(또는 추측하고), 브라우저를 사용하여 탐색하는 것입니다.

두 번째 방법은 클래스에 browse 메시지를 보내서 자체적으로 브라우저를 열도록 요청하는 것입니다. Boolean 클래스를 탐색하려는 상황을 가정해보겠습니다.


Squeak comment.png워크스페이스에 Boolean browse 를 입력하고 do it을 실행하십시오.


브라우저는 Boolean 클래스를 엽니다(그림 1.16). 클래스 이름을 마우스로 선택할 수 있는 어떤 도구에서라도 사용이 가능한 키보드 단축키 CMD-b (browse)도 존재합니다. 이름을 선택하고 CMD-b를 입력하십시오


Squeak comment.pngBoolean 클래스를 검색하기 위해 키보드 단축키를 사용하십시오.


그림 1.16: Boolean 클래스 정의를 보여주는 시스템 브라우저


Boolean 클래스를 선택했지만, 선택한 프로토콜과 메서드가 없다면, 상단에 네 개의 패인 밑에 하나의 패인이 아닌 두 개의 패인이 나타남을 확인하십시오(그림 1.16). 위의 패인은 클래스 정의 내용이 들어있습니다. 하위클래스를 만들도록 요청하며 super클래스에 보내지는 일반적인 스몰토크 메시지일 뿐입니다. 그림에서는 앞의 Object 클래스가 인스턴스 변수, 클래스 변수 또는 "pool Dictionary" 를 갖지 않는 Boolean 하위클래스 생성과 Boolean 클래스는 Kernel-Objects 카테고리로의 배치를 요청 받았음을 보고 있습니다.

하단 패인에서는 클래스 주석---클래스를 설명하는 일반텍스트plain text 부분을 보여줍니다. 클래스 패인의 하단에서 ? 버튼을 클릭하면, 보고 있는 패인에서 클래스 주석을 볼 수 있을 것입니다.


여러분이 스퀵의 상속 계층을 탐색한다면, 계층 브라우저에서 도움을 받을 수 있습니다. 여러분이 알려진 클래스의 알려지지 않은 하위클래스 또는 super클래스를 찾을 때 이 브라우저를 유용하게 사용할 수 있습니다. 계층 브라우저는 상속 계층을 반영하는 들쭉날쭉한 트리구조로 나열합니다.


Squeak comment.pngBoolean클래스를 선택하고, 브라우저에 있는 hierarchy를 선택하십시오.


이 작업은 Boolean 클래스의 하위클래스와 super클래스를 보여주는 계층 브라우저를 엽니다. Boolean의 인스턴트 상위클래스와 하위클래스를 바로 탐색해보십시오.

자주 쓰이는 클래스를 찾는 가장 빠른 방법은 그 클래스의 이름으로 검색하는 것입니다. 예를 들어, 날짜와 시간을 나타내는 알려지지 않은 클래스를 찾고 있다고 가정해 보겠습니다.


Squeak comment.png시스템 브라우저의 시스템 카테고리 패인에 마우스를 올려놓고 CMD-f 를 누르거나, 노랑 버튼 메뉴에서 find class…(f)를 선택하십시오. 대화 상자에 "time"을 입력하고 accept 하십시오.


"time”을 포함하는 이름을 가진 클래스의 목록이 나타날 것입니다. (그림 1.17을 보십시오) 한 가지를 고른 후, Time을 입력하면, 브라우저는, 쓸만한 다른 클래스를 제안하는 클래스 주석과 함께, 목록을 보여드립니다. 여러분이 다른 클래스의 목록 중 하나를 검색하려면, 그 클래스의 이름을 선택하고(아무 텍스트 패인에서) CMD-b를 입력하십시오.


FIndIt.png TimeClasses.png
그림 1.17: 이름으로 클래스 검색하기


찾기 대화상자에서 클래스의 전체 이름을(정확하게 대소문자 구별) 입력했다면, 브라우저는 검색 결과 목록을 보여주지 않고 입력한 클래스로 바로 이동합니다.


Notes