형식 지정 상수

형식 지정 상수 (Typed constants)

때로는 그냥 값을 집어넣는 데 그치지 않고 타입까지 지정한 상수가 필요한 경우가 있어요. 복잡한 구조를 갖는 상수를 정의할 때 특히 그렇죠. 이번 절에서는 형식 지정 상수가 무엇이고, 일반 상수와 어떻게 다른지 알아볼게요.

출처: 문서

본문

때로는 상수의 타입을 명시할 필요가 있어요. 예를 들어 나중에 이 매뉴얼에서 다루는 복잡한 구조(constant of complex structures)를 갖는 상수가 그런 경우예요. 정의는 아주 단순해요.

typed constant declaration
-> identifier : type = constant expression

일반 상수와 달리, 형식 지정 상수는 런타임에 값을 할당할 수 있어요. 이는 Turbo Pascal 시절부터 있던 오래된 개념인데, 지금은 초기화된 변수(initialized variables) 지원으로 대체됐어요. 자세한 내용은 매뉴얼 4.4절(234쪽)을 참고하세요.

형식 지정 상수에 값을 할당하는 지원 여부는 {$J} 지시자로 제어해요. 이 지시자는 끌 수 있지만 기본값은 켜져 있어요(Turbo Pascal 호환 때문). 초기화된 변수는 항상 허용돼요.

주의: 형식 지정 상수는 프로그램 시작 시 자동으로 초기화돼요. 이는 지역 형식 지정 상수와 초기화된 변수에도 동일하게 적용돼요. 지역 형식 지정 상수도 프로그램 시작 시 초기화되는데, 이전 함수 호출에서 값이 바뀌었다면 그 바뀐 값을 그대로 유지해요. 다시 말해 함수가 호출될 때마다 매번 초기화되는 게 아니라는 뜻이에요.

더 알아보기