변수 정의

변수 정의 (Definition)

데이터를 저장하려면 먼저 변수가 필요해요. 변수가 정확히 무엇이고, 어디에 저장되며, 무엇을 주의해야 하는지 이번 절에서 기본을 잡아 볼게요.

출처: 문서

본문

변수는 특정 타입을 갖는, 이름이 명시된 메모리 위치예요. 변수에 값을 할당하면 Free Pascal 컴파일러는 그 값을 해당 변수를 위해 예약된 메모리 위치로 옮기는 기계어 코드를 생성해요. 변수가 어디에 저장되는지는 어디에서 선언됐는지에 따라 달라져요:

  • 전역 변수(Global variables) — 유닛이나 프로그램에서 선언되지만 프로시저나 함수 안에는 없는 변수예요. 고정된 메모리 위치에 저장되고, 프로그램 실행 시간 내내 사용할 수 있어요.
  • 지역 변수(Local variables) — 프로시저나 함수 안에서 선언된 변수예요. 그 값은 프로그램 스택에 저장돼요. 고정된 위치가 아니라는 뜻이죠.

Free Pascal 컴파일러는 이런 메모리 위치의 할당을 투명하게 처리해요. 다만 선언에서 이 위치에 영향을 줄 수도 있어요.

또한 Free Pascal 컴파일러는 변수에서 값을 읽거나 쓰는 것도 투명하게 처리해요. 하지만 심지어 이것도 프로그래머가 프로퍼티(properties) 를 쓰면 명시적으로 다룰 수 있어요.

변수는 필요할 때 명시적으로 선언해야 해요. 변수를 선언하지 않으면 메모리도 할당되지 않아요. 먼저 선언하지 않은 변수 식별자(예: 루프 변수)를 쓰는 건 오류이며, 컴파일러가 이를 보고해요.

더 알아보기