SqueakByExample:9.1

From 흡혈양파의 번역工房
Revision as of 11:05, 16 August 2012 by Onionmixer (talk | contribs) (SBE 9장소개 페이지 추가)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

소개

컬렉션 클래스(the collection classes)는 컬렉션(collection)과 스트림(stream)의 막연하게 정의된 일번적인 목적의 그룹입니다. 클래스들의 그룹은 전체 28개의 클래스를 위해, 컬렉션의 17개의 서브클래스(subclass)와 스트림(Stram)의 9개의 서브클래스를 포함하는 "Blue Book"[1]에서 나타나며, 스몰토크-80 시스템이 릴리즈 되기 전에 이미 여러 번 다시 디자인되어 왔습니다. 클래스들의 이 그룹은 종종 오브젝트 지향 디자인(object-oriented design)의 전형적인 예시로 종종 고려됩니다.

스퀵에서, 추상 클래스 컬렉션(the abstract class Collection)은 98개의 서브 클래스를 갖고 있으며, 추상 클래스 스트림(the abstract class Stream)은 39개의 서브 클래스를 갖고 있지만, 이 클래스들중 많은 클래스는 (Bitmap, FileStram과 CompiledMethod)는 시스템의 다른 부분들 또는 어플리케이션에서 사용하기 위해 공들여 만든 특별한 목적에 쓰이는 클래스들입니다. 이 장의 목적에 맟줘, 우리는 컬렉션(Collection)과 Collections-* 로 라벨이 붙은 시스템 카테고리에 있는 컬렉션의 37개의 서브클래스들을 의미하기 위해 “컬렉션 계층도(Collection Hierarchy)”라는 용어를 사용합니다. 우리는 또한 컬렉션 스트림 시스템 카테고리들(the Collections Streams system categories)에 있는 스트림(Stream)과 그 스트림의 10개의 서브클래스들을 의미하기 위해 “스트림 계층도(Stream Hierarchy)”라는 용어를 사용합니다. 그림 9.1에 완전한 목록이 보입니다. 이 49개의 클래스들은 794개의 메시지들에 응답하며, 총 1236개의 메소드를 정의합니다.

우리는 이번 장에서, 그림 9.2에 보이는 컬렉션 클래스의 서브세트에 주로 집중할 것입니다. 스트림(Stream)은 별도로 10장에서 논의될 것입니다.


그림 9.1: 스퀵에서의 컬렉션 클래스들(Collection Classes). 들여쓰기는 하위분류를 나타냅니다. 이탤릭체로 쓰인 클래스들은 추상 클래스입니다. 볼드체로 쓰인 클래스들은 "Blue Book"에 기술되었습니다.


그림 9.2: 스퀵에서의 몇 가지 키 컬렉션 클래스들(the key collections classes)

Notes

  1. Adele Goldberg and David Robson, Smalltalk 80: the Language and its Implementation. Reading, Mass.: Addison Wesley, May 1983, ISBN 0–201–13688–0.