Delphi [델파이 문법 시리즈] #3. 제네릭 - 선언
2012.03.26 20:19
본 내용은 "델파이 프로그래밍 언어" 도서의 일부분을 정리한 것입니다. 보다 자세한 내용은 해당 도서를 통해 확인할 수 있습니다. "델파이 프로그래밍 언어" 자세히 보기: http://tech.devgear.co.kr/devgearbook/2431 |
제네릭의 선언
제네릭의 선언은 일반적인 클래스, 레코드, 인터페이스 타입과 비슷합니다. 차이점은, 제네릭 선언의 타입 식별자 뒤에 각진 괄호(<>)로 둘러싸인 하나 이상의 타입 파라미터의 리스트가 따라온다는 것입니다.
타입 파라미터는 포함하는 타입(container type) 선언과 메소드 바디 내에서 일반적인 타 입 식별자처럼 사용될 수 있습니다.
예를 들면 다음과 같습니다.
타입 인자
제네릭 타입은 타입 인자(type argument)를 제공함으로써 인스턴스화됩니다. 델파이에서 어떤 타입이든 타입 인자로 사용할 수 있지만, 정적 배열, 짧은 문자열, 그리고 이들 두가지 타입의 필드를 포함하는(재귀적으로) 레코드 타입의 경우는 예외입니다.
중첩된 타입
제네릭 내에 중첩된 타입도 역시 제네릭입니다.
중첩된 TBar 타입을 액세스하려면 먼저 TFoo 타입을 구축(construct)해야 합니다.
제네릭은 또한 일반 클래스 내에서 중첩된 타입으로도 선언될 수 있습니다.