Guile의 객체 지향 프로그래밍 문제점
2024-12-30
이 글에서는 Guile Scheme의 객체 지향 프로그래밍 시스템인 GOOPS와 Common Lisp의 객체 시스템인 CLOS의 차이점을 살펴보고 GOOPS의 단점을 지적합니다. GOOPS는 여러 중요한 측면에서 CLOS의 우아함과 강력함이 부족합니다. 구체적으로 세터 특수화가 상속과 합성되지 않고, before/after/around 메서드 한정자가 없으며, 메서드 결합 알고리즘을 제어할 수 없고, 메서드 인수 특수화가 제한적이며, 키워드 인수를 지원하지 않고, 문서 문자열이 없습니다. 저자는 CLOS의 동작을 모방하거나 메서드 한정자를 추가하거나 메서드 인수 특수화 메커니즘을 개선하는 등의 몇 가지 개선책을 제안합니다. 이를 통해 코드의 우아함이 향상되고 버그를 줄일 수 있다고 생각합니다.
개발