7강. 변수와 바인딩

학습개요

우리는 지금까지 몇 주에 걸쳐 프로그래밍 언어의 구현과 관련된 내용을 알아보았습니다. 오늘부터는 프로그래밍 언어의 구성 요소에 대해 다룰 예정입니다. 그 첫 여정으로 앞으로 두 주에 걸쳐 변수에 대해 알아보겠습니다. 변수는 프로그램의 기본이면서 가장 중요한 개념입니다. 이번 강의에서는 변수의 개념과 변수의 바인딩에 대해서 알아봅니다. 바인딩이라는 용어 자체가 생소하기에 바인딩의 개념을 먼저 알아본 뒤 변수의 속성별로 바인딩에 따른 차이와 특성에 대해 자세히 알아봅니다.

학습목표

  1. 변수의 개념을 이해하고 변수의 속성을 설명할 수 있다.
  2. 바인딩의 개념을 이해하고 정적 바인딩과 동적 바인딩의 차이를 설명할 수 있다.
  3. 변수의 바인딩을 변수의 속성별로 설명할 수 있다.

정리하기

  1. 변수란 데이터를 저장하거나 나중에 사용할 수 있도록 메모리를 추상화한 것이다.
  2. 변수의 속성에는 변수명, 타입, 주소, 값이 있다. 변수의 값은 수행시간 동안 바뀔 수 있다.
  3. 바인딩이란 언어 구성 요소의 속성이 구체적으로 결정되는 것을 의미한다.
  4. 바인딩 시각이란 언어 구성 요소의 속성이 결정되는 시점을 의미한다. 바인딩 시각은 크게 정적 바인딩과 동적 바인딩으로 구분된다.
  5. 변수의 바인딩은 변수의 속성이 구체적으로 결정되는 것을 의미한다. 즉, 변수명 바인딩, 타입 바인딩, 주소 방인딩, 값 바인딩이 해당된다.
  6. 변수의 변수명 바인딩 방법과 타입 바인딩 방법에는 명시적 선언과 묵시적 선언이 있다.
  7. 변수의 정적 타입 바인딩은 컴파일 시점에 구문 분석을 통해 타입을 판단하고, 동적 타입 바인딩은 수행 시점에 대입할 값에 맞추어 타입을 판단하기에 계속 변할 수 있다.
  8. 변수의 수명은 변수가 메모리를 할당받고 있는 기간이다.
  9. 변수의 주소 바인딩 방법에는 자동 할당과 수동 할당이 있다.
  10. 변수의 정적 주소 바인딩은 로드 시점에 정적 세그먼트의 주소를 바인딩하고, 동적 주소 바인딩은 수행 시점에 동적 세그먼트의 주소를 바인딩한다.
  11. 정적 주소 바인딩을 하는 변수를 정적 변수, 동적 주소 바인딩을 하는 변수를 동적 변수라고 한다. 동적 변수는 스택 동적 변수와 힙 동적 변수로 나누어진다.

Leave a Comment