본 내용은 "델파이 프로그래밍 언어" 도서의 일부분을 정리한 것입니다. 보다 자세한 내용은 해당 도서를 통해 확인할 수 있습니다.

 "델파이 프로그래밍 언어" 자세히 보기: http://tech.devgear.co.kr/devgearbook/2431 


제네릭의 선언

제네릭의 선언은 일반적인 클래스, 레코드, 인터페이스 타입과 비슷합니다. 차이점은, 제네릭 선언의 타입 식별자 뒤에 각진 괄호(<>)로 둘러싸인 하나 이상의 타입 파라미터의 리스트가 따라온다는 것입니다.
타입 파라미터는 포함하는 타입(container type) 선언과 메소드 바디 내에서 일반적인 타 입 식별자처럼 사용될 수 있습니다.
예를 들면 다음과 같습니다.

generic_3_1.png

타입 인자


제네릭 타입은 타입 인자(type argument)를 제공함으로써 인스턴스화됩니다. 델파이에서 어떤 타입이든 타입 인자로 사용할 수 있지만, 정적 배열, 짧은 문자열, 그리고 이들 두가지 타입의 필드를 포함하는(재귀적으로) 레코드 타입의 경우는 예외입니다. 


generic_3_2.png


중첩된 타입


제네릭 내에 중첩된 타입도 역시 제네릭입니다. 


generic_3_3.png


중첩된 TBar 타입을 액세스하려면 먼저 TFoo 타입을 구축(construct)해야 합니다.

   

generic_3_4.png


제네릭은 또한 일반 클래스 내에서 중첩된 타입으로도 선언될 수 있습니다.


generic_3_5.png    

generic_3_6.png



번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 15417
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13960
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16496
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22048
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23267
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18921
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39245
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174696
603 [베를린] 설치 작업이 개선되어 원하는 기능만 신속히 설치, 변경할 수 있습니다. file 험프리 2016.04.21 466
602 [베를린] 폴 디자이너를 분리해 여러 폼화면을 동시에 보고 편집할 수 있습니다. [1] file 험프리 2016.04.21 1283
601 [안드로이드/iOS] 이미 배포(Deployment)된 파일 업데이트 하기 험프리 2016.03.31 1537
600 이 달의 기술자료 - 2016년 04월 file 험프리 2016.03.28 503
599 TCategoryButtons 동적 생성하고, TButtonItem 클릭 이벤트 연결하기 file 험프리 2016.03.23 1362
598 SVN 서버 설치하기 - Visual SVN 이용 험프리 2016.02.29 3347
597 RAD Studio IDE에서 SVN 사용하기 + TortoiseSVN 사용하기 험프리 2016.02.29 1115
596 이 달의 기술자료 - 2016년 03월 [1] file 험프리 2016.02.25 778
595 애플 WWDR 인증서 만료로 iOS 개발자 인증서 이슈 해결 방안 험프리 2016.02.17 1256
594 OutputDebugString 함수로 디버그로그를 출력할 수 있습니다. file 험프리 2016.02.16 4256
593 이 달의 기술자료 - 2016년 2월 file 험프리 2016.01.26 549
592 IDE의 -r 커맨드라인 스위치로 IDE 시작 오류를 해결할 수 있습니다. file 험프리 2016.01.08 592
591 RAD Studio 빌드번호 확인하는 방법법 [1] file 험프리 2016.01.08 9488
590 인터베이스 데이터베이스와 테이블 생성하기 [3] file 험프리 2016.01.07 2498
589 [팁] 온라인 바이러스 진단 서비스 - 구글 Virus Total file 험프리 2016.01.06 970
588 [업데이트][핫픽스][10 시애틀] 모던테마(ModernTheme) 핫픽스 - 10 시애틀 업데이트 1 대상 험프리 2016.01.06 755
587 [발표자료] 2015년 12월 C++ Skill Sprints 온라인 세미나 시리즈 관리자 2015.12.30 330
586 이 달의 기술자료 - 2016년 01월 file 험프리 2015.12.28 515
585 [업데이트][핫픽스][10 시애틀] 10 시애틀 iOS 9.2 C++ 핫픽스 험프리 2015.12.28 467
584 Skill Sprint: C++과 안드로이드 인텐트(Intent)를 이용해 앱간 통신하기 험프리 2015.12.11 1205