SqueakByExample:9.1
소개
컬렉션 클래스(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장에서 논의될 것입니다.
Notes
- ↑ Adele Goldberg and David Robson, Smalltalk 80: the Language and its Implementation. Reading, Mass.: Addison Wesley, May 1983, ISBN 0–201–13688–0.