네임스페이스 고려사항

네임스페이스 고려사항

Delphi 모드에서 제네릭은 변수의 네임스페이스를 방해하지 않아요. 그래서 다음도 컴파일돼요.

출처: Name space considerations

본문


Type
 
  TTest<T> = Class(TObject)
 
  Private
 
    FObj : T;
 
  Public
 
    Property Obj : T Read FObj Write FObj;
 
  end;
 

 
Var
 
  TTest : Integer;

제네릭 타입 이름인 TTest를 그대로 변수 이름으로 써도 컴파일이 되는 걸 볼 수 있어요. 다만 이 방식은 상수(constant)와 함수(function)에는 적용되지 않아요. 즉 변수에는 같은 이름을 써도 되지만, 상수나 함수 이름과는 충돌할 수 없어요.

더 알아보기

  • 제네릭 문법 요소(Syntax elements)
  • 타입 오버로드(Type overloads)