본문 바로가기

반응형

프로그래밍언어

기억장소와 생명시간 (memory and lifetime) 기억장소 할당 - 변수의 값을 기억시킬 기억장소를 할당(allocation)하면 변수의 메모리 위치가 바인딩됨 - 변수의 필요성이 없어지면 할당된 기억장소가 반납됨 생명 시간(lifetime) - 변수의 값과 기억장소가 바인딩되어 있는 시간간격 - 생명시간에 따른 변수 분류 : 정적변수, 스택변수, 명시적 히프변수, 묵시적 히프변수 1. 정적 변수(static variable) 기억장소가 실행 이전에 바인딩되어 실행종료까지 계속되는 변수이며, 실행시간 전체에 걸친 생명시간을 가진다. 해당 단위 프로그램이 실행중이 아닌 동안에도 바인딩이 유지됨. C/C++, Java에서는 static을 지역변수의 선언 앞에 붙이면 정적 변수로 선언된다. 전역 변수도 정적 변수로 볼 수 있다 (1) 장점 프로그램 실행중 기.. 더보기
동적 형 바인딩(Dynamic Type Binding) 형 바인딩 - 대부분의 언어에서 변수의 형은 정적으로 바인딩 됨 - 동적 형 바인딩 언어에서는 실행시 지정문에 의하여 변수값이 주어지면 그 값에 따라 변수에 형이 바인딩. - 동적 형 바인딩 언어 : APL, SNOBOL4, Perl 장점 - 융통성이 많은 프로그램을 작성할 수 있다 - 어떤 형 매개변수도 받아들일 수 있는 프로시저가 가능하다 단점 - 컴파일러 오류검사능력 저하 - 실행시의 형 조사로 인해 실행속도 저하 - 변수형에 대한 설명자를 실행시에도 유지해야 한다 - 변수의 기억장소가 가변적이어야 한다 더보기

반응형