시스템 클래스 CLASS — 클래스(class)

시스템 클래스 CLASS — 클래스(class)

객체 지향 프로그래밍을 하다 보면 "이 객체는 어떤 구조와 행동을 가지는가"를 묻게 되죠. Common Lisp에서 바로 그 구조와 행동을 결정하는 것이 클래스(class)라는 객체입니다. 이 페이지는 그 클래스 타입이 무엇인지 정리한 내용이에요.

출처: CLHS — System Class CLASS

클래스 우선순위 목록

class, standard-object, t

본문 (Description)

클래스(class) 타입은 자신의 인스턴스(instance) 구조와 행동을 결정하는 객체들을 나타냅니다. 클래스 타입의 객체에는 다음과 같은 정보가 함께 담겨 있어요.

  • 클래스들이 이루는 방향성 비순환 그래프(directed acyclic graph) 안에서 해당 클래스가 차지하는 위치
  • 클래스의 슬롯(slot)
  • 클래스의 옵션(options)

즉 클래스는 단순한 "설계도"라기보다, 자기 자신이 어떤 계보에 속하고 어떤 슬롯을 가지며 어떤 옵션으로 동작하는지를 스스로 기술하는 메타 수준의 객체라고 볼 수 있어요.

더 알아보기 (Learn more)