지역 선언

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


■ 중첩된 루틴

함수 및 프로시저는 블럭의 지역 선언 영역에 다른 함수나 프로시저를 포함할 수 있습니다
(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 22660
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 21092
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 23124
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 28960
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 30100
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 25457
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 46421
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 182422
1397 N 윈도우와 맥 개발 시작을 위한 파이어몽키 코스북: 무료 다운로드 제공(385페이지) 관리자 2013.04.05 152367
1396 ComPort(시리얼 통신) 컴포넌트 설치안내 [11] file 험프리 2013.12.04 112796
1395 [REST API] REST 기반 파일 업로드와 다운로드 구현하기 험프리 2020.08.31 84757
1394 델파이 튜토리얼 자습서 이용 안내 관리자 2014.09.01 71988
1393 이 달의 기술자료 - 2014년 11월 험프리 2014.10.13 54176
1392 이 달의 기술자료 - 2014년 6월 file 험프리 2014.06.05 50406
1391 Find the O/S Language Type c2design 2014.07.30 48432
1390 RAD Studio Resource Center 박병일 2012.01.26 46649
1389 CD-ROM 열고 닫기 박병일 2011.12.22 44787
1388 [Android] 폰번호 가져오기 [1] 타락천사 2014.09.05 38646
1387 이 달의 기술자료 - 2014년 12월 file 험프리 2014.11.26 32514
1386 RAD Studio XE6 Update1 발표 [1] Humphery 2014.06.20 29499
1385 델파이XE2 파이어몽키 기반 아이폰앱 개발에서 제스춰를 인식시키는 방법 박병일 2012.01.25 23342
1384 [10.4 시드니 신기능] 새로운 VCL TEdgeBrowser 컴포넌트 험프리 2020.05.18 23198