Delphi 호환성 — FPC 제네릭과 Delphi 제네릭의 차이

Delphi 호환성 — FPC 제네릭과 Delphi 제네릭의 차이

Free Pascal(FPC)의 제네릭 지원은 Delphi와 조금 다르게 구현되어 있어요. 이 절에서는 주요 차이점을 살펴볼게요.

  • 8.5.1 문법 요소(Syntax elements)
  • 8.5.2 레코드 타입 제약(Record type restrictions)
  • 8.5.3 타입 오버로드(Type overloads)
  • 8.5.4 이름 공간 고려 사항(Name space considerations)

출처: Delphi compatibility — Free Pascal Reference

본문

FPC의 제네릭은 Delphi의 제네릭과는 구현 방식이 달라요. 그래서 같은 코드라도 동작 방식이나 제약이 달라질 수 있는데, 이 절에서 그 차이를 중심으로 정리해 드릴게요.

FPC 제네릭을 Delphi 방식으로 사용하려면 문법 요소, 레코드 타입 제약, 타입 오버로드, 이름 공간 측면에서 각각 어떤 점이 다른지 확인해야 해요.

세부 내용은 아래 하위 절들에서 다뤄요.

  • 문법 요소: generic, specialize 같은 키워드의 위치나 표기 방식 차이
  • 레코드 타입 제약: 레코드 타입을 제네릭 파라미터로 쓸 때의 차이
  • 타입 오버로드: 제네릭 타입을 오버로드할 때의 차이
  • 이름 공간: 제네릭 선언에서 이름 충돌이 생길 때의 처리 방식 차이

각 하위 절은 Reference 문서의 8.5.1~8.5.4 절에서 자세히 다뤄요.

더 알아보기