SqueakByExample:1.8

From 흡혈양파의 번역工房
Revision as of 17:27, 12 August 2017 by Onionmixer (talk | contribs) (책 검수)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, 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