프로그램의 어떤 기본 단위가 가질 수 있는 구성요소의 구체적인 값, 성격을 확정하는 것
int num = 123;
num = 변수의 이름
int = 변수의 자료형
123 = 변수의 자료값
변수 속성의 구체적인 값에 대한 이름, 자료형, 자료값을 할당하는 각각의 과정을 '바인딩'이라고 한다.
함수에서도 바인딩이 일어나는데, 함수를 호출할 때 해당 함수가 위치한 메모리 주소로 연결해주는 것을 바인딩이라 한다.
컴파일 시간에 일어나며, 실행 중 변하지 않고 유지됨
실행 파일에 호출할 함수가 위치한 메모리 주소가 이미 확정 기록된 것을 말한다.
변수 선언 같은 경우 컴파일 시간에 할당되고, 싱행 중 변하지 않는 변수 속성을 말한다.
일반 적인 함수는 정적 바인딩이 일어난다.
실행 시간(run time) 중에 일어나며, 프로그램 실행 도중 변경 가능
Python에서 사용되며, 'num=10'와 같이 실행 시간에 변수의 자료형을 결정한다.
실행 파일을 만들때 호출할 함수의 메모리 주소가 확정되지 않고 보류 상태로 둔다.
- 실제 시간에 주소가 결정되기 때문에 공간을 미리 확보 해둔다.
보통 가상 함수들이 동적 바인딩
동적 바인딩 값은 프로그램 실행 도중 변경될수 있기 때문에 할당되는 메모리 또한 유동적이며, 동적 바인딩 되는 변수를 동적 변수라고 한다.