Delphi [델파이 문법 시리즈] #2. 제네릭 - 용어
2012.03.22 19:49
본 내용은 "델파이 프로그래밍 언어" 도서의 일부분을 정리한 것입니다. 보다 자세한 내용은 해당 도서를 통해 확인할 수 있습니다. "델파이 프로그래밍 언어" 자세히 보기: http://tech.devgear.co.kr/devgearbook/2431 |
■플랫폼 요구 사항들과 차이점들
델파이의 제네릭은 .NET 2.0 및 그 이후 버전, 그리고 네이티브 Win32 컴파일러에서 지원 됩니다. 이들 플랫폼들에서 지원되는 기능들에는 약간의 차이들이 있습니다.
■ 런타임 타입 정보(RTTI)
Win32에서, 제네릭과 메소드는 RTTI 정보를 갖지 않지만 인스턴스화된 타입은 RTTI 정보 를 갖습니다. 인스턴스화된 타입은 제네릭과 파라미터들의 집합의 조합입니다.
■ 인터페이스 GUID
Win32에서, 인스턴스화된 인터페이스 타입은 인터페이스 GUID를 갖지 않습니다.
■ 인터페이스 내의 파라미터화된 메소드
Win32에서, 파라미터화된 메소드(타입 파라미터와 함께 선언된 메소드)는 인터페이스 내 에서 선언될 수 없습니다. .NET에서는 이것이 가능합니다.
■ 인스턴스화 시점
Win32에서는, 인스턴스화는 컴파일러에 의해 수행됩니다. 모든 인스턴스화된 객체들이 .obj 파일로 내보내어집니다. .NET에서는, 인스턴스화는 런타임 환경에서 수행됩니다.
■ 동적 인스턴스화
Win32에서는 런타임에 동적 인스턴스화가 지원되지 않습니다.
■ 인터페이스 제약조건
Win32 인터페이스는“가벼운”인터페이스가 아닙니다. 이것은 모든 타입 파라미터 constraints가 항상 COM IUnknown 메소드들인 _AddRef, _Release, QueryInterface를 지원하거나 TInterfacedObject로부터 상속받는다는 것을 의미합니다. 레코드 타입은 인터 페이스 제약조건 파라미터를 지정할 수 없습니다. .NET에서만 레코드 타입 내의 인터페이 스를 지원하기 때문입니다.
제네릭의 용어들
제네릭을 설명하기 위해 사용되는 용어들은 아래와 같습니다.
참조링크
http://tech.devgear.co.kr/devgearbook
델파이 프로그래밍 언어 - 엠바카데로 저 | 박지훈 역 (2009년)