A Study on the Extension of GJ for supporting Generic Definition Specialization

포괄적 정의의 특수화를 지원하는 GJ 언어의 확장에 관한 연구

  • 양우석 (동아대학교 컴퓨터공학과) ;
  • 권기항 (동아대학교 컴퓨터공학과)
  • Published : 2000.10.13

Abstract

GJ는 인자적 다형성(Parametric Polymorphism)을 사용할 수 있도록 Java를 확장한 언어이다. 인자적 다형성은 포괄적 프로그래밍을 가능하게 할 뿐만 아니라 객체지향성의 이론적 결함을 메워줄 수 있는 언어 기능이다. 그러나 일반성이 놓아지면 상대적으로 효율성은 감소하기 때문에 반대로 일반성을 제약하여 효율성을 높여야만 할 때가 많다. C++에서는 특정한 타입에 대해서는 특화된 코드가 사용될 수 있도록 하여 효율성의 손실을 메울 수 있는 기능을 제공하고 있다. 본 논문에서는 포괄적 프로그래밍으로 일반성과 재사용성을 높이고 타입 인수의 특수화를 통해 일반성에서 오는 효율성 손실을 막기 위한 방법으로, GJ의 의미론을 확장하고 그 실용적인 타당함을 보이기 위한 몇 가지 예제를 기술하였다. 그리고 이러한 기능적 확장에 따르는 이점과 단점을 열거하였다.

Keywords