바인딩
: 속성과 개체 사이 또는 연산과 기호 사이와 같은 연관이다. 이름을 속성에 연관시키는 과정.
바인딩이 일어나는 시간을 바인딩 시간이라고 부른다.
바인딩이란 함수 호출과 실제 함수를 연결하는 방법이다.
각종 값들이 확정되어 더 이상 변경할 수 없는 구속(bind)상태가 되는 것.
함수를 호출하는 부분에 함수가 위치한 메모리 번지를 연결시켜 주는 것.
프로그램 소스에 쓰인 각종 내부요소 혹은 속성(성격)을 확정 짓는 과정을 의미.
Ex) 변수의 데이터 형이 무엇인지 결정
이 과정이 컴파일 시에 이루어지면 정적 바인딩
Ex1) C언어에서는 컴파일 시간에 변수의 데이터 형이 정해지므로 정적 바인딩
프로그램 실행 시 이루어지면 동적 바인딩
Ex2) 자바스크립트는 실행할 때 값에 따라 변수의 데이터 형이 정해지므로 동적 바인딩(인터프리터)
정적 바인딩과 동적 바인딩
기본적으로는 정적 바인딩 수행
동적 바인딩은 virtual 예약어를 사용해서 함수를 정의
- 정적 바인딩
실행 파일을 만들 때 호출될 함수로 점프할 번지가 결정되어 바인딩 되는 것.
컴파일 타임에 호출될 함수를 결정.
객체나 타입을 보고 호출할 함수를 결정
(일반함수)
- 동적 바인딩
실행 파일을 만들 때 바인딩 되지 않고 보류상태로 둠.
런타임에 호출될 함수를 결정한다
Virtual 예약어를 사용해서 가상함수를 정의해야한다.
호출 함수 결정은 객체의 가상함수 Table을 사용한다.
'Dev.World > 개발상식&언어' 카테고리의 다른 글
[그들이 쓰는 언어] 10. P2P서비스 (0) | 2016.05.19 |
---|---|
[그들이 쓰는 언어] 9. 웹 2.0 이란 (0) | 2016.05.19 |
[개발상식] 15. 클라우드 컴퓨팅이란? (0) | 2016.05.14 |
[그들이 쓰는 언어] 7.런타임이란? (0) | 2016.05.13 |
[개발상식] 14. XML이란? (0) | 2016.05.13 |