제네릭 문법 요소
제네릭 문법 요소
문법 다이어그램에 나오는 문법은 컴파일러의 ObjFPC 모드에서 요구되는 문법이에요. 다만 Delphi 모드에서는 specialize와 generic 키워드를 쓰면 안 돼요. 다음 예시처럼요.
출처: Syntax elements
본문
Type
TTest<T> = Class(TObject)
Private
FObj : T;
Public
Property Obj : T Read FObj Write FObj;
end;
TIntegerTest = TTest<Integer>;
ObjFpc 모드와 달리, Delphi 모드에서는 메서드 정의에서 템플릿 타입 이름을 반복해야 해요.
Type
TTest<T> = Class(TObject)
Private
FObj : T;
Public
Procedure DoIt;
Property Obj : T Read FObj Write FObj;
end;
Procedure TTest<T>.DoIt;
begin
end;
이 요구 사항은 다음 섹션에서 설명할 제네릭 타입 오버로드 기능과 직접 관련이 있어요.
더 알아보기
- 레코드 타입 제약(Record type restrictions)
- 타입 오버로드(Type overloads)