제네릭 문법 요소

제네릭 문법 요소

문법 다이어그램에 나오는 문법은 컴파일러의 ObjFPC 모드에서 요구되는 문법이에요. 다만 Delphi 모드에서는 specializegeneric 키워드를 쓰면 안 돼요. 다음 예시처럼요.

출처: 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)