반응형
바인딩(Binding)이란?
프로그램에 사용된 각종 내부 요소, 이름 식별자들에 대해 값 또는 속성이 결정되는 과정
"int a = 4;"에서 a의 데이터 타입이 int형이라고 정하는 것을 말한다.
정적 바인딩(Static Binding)이란?
컴파일 시점에 결정되는 바인딩을 정적 바인딩이라고 함!
소스상에 명시적으로 타입과, 그 타입의 변수명을 선언하는 것
장점
- 컴파일 시 타입에 대한 정보가 결정되기 때문에 실행 속도가 빠름
- 타입 에러로 인한 문제를 초기에 발견할 수 있어 안정성 ⬆
단점
- 컴파일 시 결정이 되고 그 이후로는 변경이 불가능
동적 바인딩(Dynamic Binding)이란?
런타임 시점에 이루어지는 바인딩 과정을 동적 바인딩이라고 함!
CPP에서 가상 함수 오버라이딩이 동적 바인딩에 해당된다.
가상 함수에 대해 알고 싶다면 아래 링크 클릭!
장점
- 실행 도중 필요한 객체의 함수를 호출할 수 있는 유연성을 갖고 있음
단점
- 변수의 예상치 못한 타입으로 type error가 날 수 있음. 안정성 떨어짐.
표로 보기 좋게 정리!
728x90
'개발 언어 > cpp' 카테고리의 다른 글
CPP Enum(enumerate) (0) | 2022.01.19 |
---|---|
CPP STL 맵(Map) (0) | 2022.01.18 |
CPP 순수 가상 함수(Pure Virtual Function), 추상 클래스(Abstact Class), 인터페이스(Interface) (0) | 2022.01.18 |
CPP 가상 함수(Virtual Function) (0) | 2022.01.18 |
CPP friend 클래스와 함수 (0) | 2022.01.18 |
댓글