바인딩(Binding)이란?

2022. 3. 16. 10:26Theory

반응형

바인딩(Binding)이란?

  • 프로그램의 어떤 기본 단위가 가질 수 있는 구성 요소의 값, 성격을 확정하는 것.
  • 아래 예제에서 이름, 자료형, 자료 값에 num, int, 1111이라는 구체적인 값을 할당하는 각각의 과정을 바인딩이라고 한다.
int num = 1111;

"""
num : 변수 이름
int : 변수의 자료형
1111: 변수의 값
"""

함수에서의 바인딩

  • 어떤 코드에서 함수를 호출할 때 그 해당 함수가 위치한 메모리 주소로 연결해 주는 것.

정적 바인딩

  • 컴파일 시 바인딩이 일어나며, 실행 중 변하지 않고 유지된다
  • 컴파일 시 변수의 속성이나 호출될 함수의 주소를 확정해 놓기 때문에 실행 시간의 속도가 빠르다.
# JAVA에서 실행시
# x는 정수형이며 프로그램이 실행되고 종료될때 까지 변경되지 않는다.

int x = 129;

동적 바인딩

  • 실행시 바인딩이 일어나며, 실행 중 변할 수 있다.
# Python이나 PHP에서 실행시
# x값의 자료형은 실행시 정해지며, 중간에 형변환 없이도 값이 변경될 수 있다.

x = 123
print(x)

x = "가나다"
print(x)
 
반응형