`METHOD` — 메서드 시스템 클래스
METHOD — 메서드 시스템 클래스
커먼 리스프의 객체 지향(CLOS)에서 제네릭 함수가 실제로 하는 일은 여럿의 메서드(method)가 나누어 갖고 있어요. 그 메서드 하나하나가 어떤 객체인지, 어떻게 "언제 적용되는지"가 정해지는지를 보면 CLOS의 동작 방식을 이해하는 뼈대가 잡혀요.
본문
클래스 우선순위 리스트 (Class Precedence List)
method, t
설명
메서드는 제네릭 함수(generic function)의 행동 중 모듈화된 한 부분을 나타내는 객체예요.
메서드는 다음 세 가지를 담고 있어요.
- 메서드의 행동을 구현하는 코드.
- 그 메서드가 언제 적용 가능한지를 규정하는 파라미터 특수화자(parameter specializer)의 시퀀스.
- 메서드 조합(method combination) 시설이 메서드들을 구분하는 데 쓰는 퀄리파이어(qualifier)의 시퀀스.
각 메서드의 필수 파라미터마다 대응하는 파라미터 특수화자가 있어요. 그리고 메서드는 자기 파라미터 특수화자를 만족하는 인자에 대해서만 호출돼요.
한편 메서드 조합(method combination) 시설이 메서드들의 선택, 실행 순서, 그리고 제네릭 함수가 반환할 값을 통제해요. 객체 시스템은 기본 메서드 조합 타입을 제공하고, 새로운 메서드 조합 타입을 선언할 수 있는 시설도 제공해요.
함께 보기
generic-function타입method-combination타입