변수 정의
변수 정의 (Definition)
데이터를 저장하려면 먼저 변수가 필요해요. 변수가 정확히 무엇이고, 어디에 저장되며, 무엇을 주의해야 하는지 이번 절에서 기본을 잡아 볼게요.
출처: 문서
본문
변수는 특정 타입을 갖는, 이름이 명시된 메모리 위치예요. 변수에 값을 할당하면 Free Pascal 컴파일러는 그 값을 해당 변수를 위해 예약된 메모리 위치로 옮기는 기계어 코드를 생성해요. 변수가 어디에 저장되는지는 어디에서 선언됐는지에 따라 달라져요:
- 전역 변수(Global variables) — 유닛이나 프로그램에서 선언되지만 프로시저나 함수 안에는 없는 변수예요. 고정된 메모리 위치에 저장되고, 프로그램 실행 시간 내내 사용할 수 있어요.
- 지역 변수(Local variables) — 프로시저나 함수 안에서 선언된 변수예요. 그 값은 프로그램 스택에 저장돼요. 고정된 위치가 아니라는 뜻이죠.
Free Pascal 컴파일러는 이런 메모리 위치의 할당을 투명하게 처리해요. 다만 선언에서 이 위치에 영향을 줄 수도 있어요.
또한 Free Pascal 컴파일러는 변수에서 값을 읽거나 쓰는 것도 투명하게 처리해요. 하지만 심지어 이것도 프로그래머가 프로퍼티(properties) 를 쓰면 명시적으로 다룰 수 있어요.
변수는 필요할 때 명시적으로 선언해야 해요. 변수를 선언하지 않으면 메모리도 할당되지 않아요. 먼저 선언하지 않은 변수 식별자(예: 루프 변수)를 쓰는 건 오류이며, 컴파일러가 이를 보고해요.
더 알아보기
- 변수를 실제로 선언하는 방법은 변수 선언(Declaration) 절에서 다뤄요.
- 변수가 어떤 범위에서 보이는지는 스코프(Scope) 절을 참고하세요.