지역 선언

함수나 프로시저의 바디 부분은 루틴의 문장 블럭에서 사용할 지역 변수들의 선언으로 시작
하는 경우가 많습니다. 이런 선언에는 상수, 타입 및 기타 루틴도 포함합니다. 로컬 식별자
의 유효 범위는 그 식별자가 선언된 루틴으로 제한됩니다.


■ 중첩된 루틴

함수 및 프로시저는 블럭의 지역 선언 영역에 다른 함수나 프로시저를 포함할 수 있습니다
(nested routine). 예를 들어, 다음의 DoSomething 프로시저의 선언에는 중첩된 프로시저
가 포함되어 있습니다.

1.png

중첩 루틴의 유효 범위는 루틴이 선언된 프로시저 또는 함수로 제한됩니다. 위 예제에서
NestedProc은 DoSomething 내에서만 호출될 수 있습니다.
중첩 루틴의 실제 예제를 보려면 SysUtils 유닛에 있는 DateTimeToString 프로시저,
ScanDate 함수 등을 살펴보십시오.


파라미터

대부분의 프로시저 및 함수 헤더에는 파라미터(parameter) 리스트가 있습니다. 예를 들어,

2.png

위의 헤더에서, 파라미터 리스트는 (X: Real; Y: Integer)입니다.

파라미터 리스트는 세미콜론으로 구분하고 괄호로 묶은 일련의 파라미터 선언입니다. 각 선
언에서는 콤마로 구분된 파라미터 이름과 뒤이어 대부분 콜론과 타입 식별자가 나오며, 어
떤 경우에는 = 기호와 기본값이 오기도 합니다. 파라미터 이름은 유효한 식별자여야 합니
다. 선언 앞에는 예약어 var, const, out 중 하나가 있을 수 있습니다. 예를 들면, 다음과 같
습니다.

3.png

파라미터 리스트는 루틴이 호출될 때 전달되어야 할 파라미터의 개수, 순서와 타입을 지정
합니다. 루틴에 파라미터가 없다면 선언에서 식별자 리스트와 괄호를 생략하십시오.

4.png

프로시저 또는 함수의 바디 내에서, 파라미터 이름(위 첫 번째 예제의 X와 Y)은 지역 변수
로 사용할 수 있습니다. 파라미터 이름을 프로시저나 함수 바디의 지역 선언 영역에서 다시
선언하지 마십시오.


파라미터 의미 구조

파라미터는 다음과 같은 방법으로 분류됩니다.

  - 모든 파라미터는 값, 변수, 상수, 출력 파라미터로 분류합니다. 기본은 값 파라미터며, 예약어
var, const, out은 각각 변수, 상수, 출력 파라미터를 나타냅니다.

  - 값 파라미터는 항상 타입이 지정되며, 상수, 변수, 출력 파라미터는 타입을 가질 수도 가지지
않을 수도 있습니다.

  - 배열 파라미터에는 특수한 규칙이 적용됩니다. 5장의“배열 파라미터”를 참조하십시오.

파일과 파일을 포함한 구조 타입의 인스턴스는 변수 파라미터(var)로만 전달할 수 있습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [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
110 Developer Direct LIVE! 모바일 썸머 스쿨!! 관리자 2013.07.06 2954
109 [기술백서] 모바일로 가면서 개발자가 하게 되는 실수 TOP5 (한글) 관리자 2013.07.06 4318
108 TListView iOS 샘플 제공 관리자 2013.06.28 4024
107 아이폰, 아이패드, 아이팟 앱 개발을 위한 파이어몽키 용 TMS 컴포넌트가 출시되었습니다. 관리자 2013.06.04 3786
106 IOS 앱을 개발하여 App Store에 등록하는 방법 관리자 2013.05.20 5405
105 델파이XE4로 아이폰, 아이패드, 윈32, 윈64, 맥OS X 단일 소스코드 베이스로 2분만에 개발 관리자 2013.05.13 5602
104 Delphi XE4에서 iOS 개발 환경 구축시 유의 할점. c2design 2013.05.11 5384
103 [웹세미나 안내] 델파이를 활용한 멀티-디바이스 앱 개발 관리자 2013.03.29 4636
102 멀티-티어 작업을 더욱 쉽게 만들어주는 Class Helper 관리자 2013.03.26 5000
101 델파이로 간단하게 슬라이드 효과를 적용한 iOS앱 만들기 관리자 2013.03.26 4957
100 [델파이 문법] 데이터 타입, 변수 및 상수 #4 file 관리자 2013.02.19 6374
99 [델파이 문법] 데이터 타입, 변수 및 상수 #3 file 관리자 2013.02.13 6736
98 [델파이 문법] 데이터 타입, 변수 및 상수 #2 file 관리자 2013.02.04 8231
97 [델파이 문법] 데이터 타입, 변수 및 상수 #1 관리자 2012.12.25 6980
96 [델파이 문법] 문법 요소 #15 file 관리자 2012.12.25 5392
95 델파이/C++빌더/RAD Studio XE3 업데이트1 다운로드 및 보완사항 리스트 관리자 2012.12.21 5193
94 [델파이 문법] 문법 요소 #14 file 관리자 2012.12.17 5358
93 [웹 세미나] RAD 따라잡기: 윈도우8 스타일 관리자 2012.11.27 4488
92 CodeRage7 : '델파이' 다시보기 관리자 2012.11.24 5261
91 [델파이 문법] 문법 요소 #13 file 관리자 2012.11.20 6108