Variable Scope   변수 영역, 변수 스코프

(2018-06-21)

Variable Life, 변수 수명, Global Variable, 전역 변수, Local Variable, 지역 변수, Program Environment, 프로그램 환경

1. 변수를 특징짓는 주요 속성들은,

  ㅇ 이름 (식별자)
  ㅇ 주소 (기억공간 위치)
  ㅇ 타입 (Data Type)
  ㅇ 값 (Value)
  ㅇ 영역/스코프/범위 (Scope)
  ㅇ 수명 (Lifetime)
  ㅇ 환경 (Program Environment)


2. 변수의 종류데이터 타입에 따른 구분
     - 값 타입 변수 (기본 자료형)
     - 참조 타입 변수 (참조 자료형)

  ㅇ 변수에 데이터 전달 방법의 구분
     - 대입문에 의해 데이터를 특정 변수에 전달하는 방법
     - 키보드 입력에 의해 데이터를 변수에 전달하는 방법 등

  ㅇ 스코프/영역/범위(Scope)에 따른 구분
     - 전역 변수 (Global Variable)
        . 통상, 블록(함수 등) 안과 밖 모두에서 사용가능한 변수
        . 블록(함수 등) 밖에서 정의된 변수
     - 지역 변수 (Local Variable)
        . 통상, 블록(함수 등) 내에서 만 선언되고 사용되는 변수
        . 블록(함수 등) 내부에서 정의된 변수

  ㅇ 수명(Lifetime)에 따른 분류
     - 자동 변수(Automatic Variable)
        . 프로그램 제어가 블록(함수 등) 내에 진입할 때 기억장소 할당이 되고,
        . 빠져나갈 때 기억장소 해제가 일어남
     - 정적 변수(Static Variable)
        . 한 번 할당되면 프로그램 종료시까지 회수되지 않고 기억장소에서 살아있는 변수


3. 변수 영역 (Scope)변수 영역
     - 프로그램 내 사용되는 식별자가 의미를 갖을 수 있는 범위/영역
        . 정의된 변수에 접근 사용할 수 있는 범위

  ㅇ 변수 영역 규칙
     - 정적 영역 규칙 : 번역 시에 만 변수 영역이 결정되는 규칙
     - 동적 영역 규칙 : 실행시에 만 비로소 변수 영역이 결정점

  ㅇ 변수 스코프/영역/범위(Scope)/유효범위에 따른 구분
     - 전역 변수 (Global Variable)
        . 통상, 블록(함수 등) 안과 밖 모두에서 사용가능한 변수
        . 블록(함수 등) 밖에서 정의된 변수
        . 프로그램 전체 어느 곳에서도 사용 가능
     - 지역 변수 (Local Variable)
        . 통상, 블록(함수 등) 내에서 만 선언되고 사용되는 변수
        . 블록(함수 등) 내부에서 정의된 변수


4. 변수 수명 (Lifetime)변수 수명
     - 변수가 기억장소에 할당된 시점부터 반환되는 시점까지의 시간

  ㅇ 수명(Lifetime)에 따른 변수 분류
     - 자동 변수(Automatic Variable)
        . 프로그램 제어가 블록(함수 등) 내에 진입할 때 기억장소 할당이 되고,
        . 빠져나갈 때 기억장소 해제가 일어남
     - 정적 변수(Static Variable)
        . 한 번 할당되면 프로그램 종료시까지 회수되지 않고 기억장소에서 살아있는 변수


5. 변수 영역과 변수 수명은 불가분의 관계를 갖음블록 구조에서는, 시작점에서 지역 변수가 기억장소에 할당되고, 끝점에서 회수되므로,
     - 이 경우에, 지역 변수의 영역과 수명은 일치하게 됨
     - 단, 지역 변수가 정적 변수선언되는 경우(static 변수명)에는 불일치 함

  ㅇ 전역 변수와 정적 변수는, 수명은 같지만 영역은 다름
     - 수명은, 
        . 전역 변수와 정적 변수프로그램 실행 동안 유지된다는 점에서는 같지만,
        . 영역은 서로 다름
     - 영역은, 
        . 전역 변수프로그램 어느 부분에서든 참조 가능하지만,
        . 정적 변수선언된 블록(함수 등)에서 만 참조 가능


6. 변수와 관련된 프로그램 환경(Program Environment)/참조 환경(Reference Environment)프로그램 내 특정 부분에서 참조될 수 있는 모든 데이터,변수,함수들의 집합
     - 어떤 값에 변수 이름을 붙여두고, (이름-값 쌍)
     - 후에 그 이름으로부터 필요한 값을 얻기 위한 기억 공간의 일종
     - 단, 프로그램 수행 계산 과정 중에 이러한 환경이 하나 만 있는 것이 아님

  ㅇ 프로그램 수행 도중에 문맥(Context)을 결정짓게되는 중요 사항 임


[변수 바인딩] 1. 변수 2. 이름 3. 바인딩 4. 선언/정의/초기화 5. 변수 영역,수명 6. 블록 구조 7. 좌변값

 
        최근수정     요약목록(시험중)     참고문헌