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

 "델파이 프로그래밍 언어"(342쪽): http://tech.devgear.co.kr/devgearbook/2431 


 그 외 데브기어 도서들은 다음 링크를 통해서 확인할 수 있습니다: www.devgear.co.kr/book


파라미터화된 메소드


메소드를 타입 파라미터와 함께 선언할 수 있습니다. 파라미터 타입과 결과 타입에서 타입 파라미터를 사용할 수 있습니다. 파라미터화된 메소드는 오버로드된 메소드와 비슷합니다. 메소드를 인스턴스화하는 데에는 두 가지 방법이 있습니다.


명시적으로 타입 인자를 지정하는 방법

인자 타입으로부터 자동으로 추정하는 방법


예를 들면 다음과 같습니다.


generic_5_1.png 

generic_5_2.png 


타입 파라미터의 유효 범위


타입 파라미터의 유효 범위는 타입 선언과 그 모든 멤버들의 바디를 포함하지만, 자손 타입 은 포함되지 않습니다.

예를 들면 다음과 같습니다.   


generic_5_3.png


제네릭에서의 오버로드와 타입 호환성


오버로드


제네릭 메소드도‘overload’지시어를 사용하여 제네릭이 아닌 메소드들과 함께 오버로딩 에 포함될 수 있습니다. 제네릭 메소드와 비 제네릭 메소드 사이의 오버로드 선택 문제가 모 호하지 않으면 컴파일러는 비 제네릭 메소드를 선택합니다.
예를 들면 다음과 같습니다. 


generic_5_4.png


타입 호환성


두 인스턴스화되지 않은 제네릭들이 대입 호환되는 경우는 동등하거나 공통 타입에 대한 별 칭(alias)인 경우 뿐입니다.

두 인스턴스화된 제네릭들은 기반 타입이 동등 (혹은 공통 타입에 대한 별칭임) 하고 타입 인자가 동등한 경우 대입 호환됩니다. 



번호 제목 글쓴이 날짜 조회 수
공지 [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 22049
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [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 779
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