CS 및 면접 질문

동적 바인딩

ho-bolt 2022. 6. 16. 14:13

🌏 바인딩이란?

함수를 컴파일하면, 선언된 함수의 코드는 메모리에 저장되고, 함수 호출문에는 코드의 메모리 주소값이 저장된다.

여기서 프로그램을 실행하면 함수 호출문에서 함수 코드가 저장된 주소로 이동한 후 함수를 실행하고 원래 위치로 돌아오는데 이때 함수 호 출문에서 함수 코드가 저장된 주소로 연결하는 과정을 바인딩이라 한다.

🚗 동적 바인딩

동적 바인딩은 컴파일 과정에서 부모 클래스의 함수를 참조하는데 런타임 과정에서 실제로는 자식 클래스의 함수와 바인딩된다

why?

정적 바인딩의 경우, 컴파일 과정에서 정의된 타입 형식을 참조해 어떤 클래스와 메소드를 참조할 지 결정한다. (super class의 메소드 )

동적 바인딩의 경우에는 런타임에서 실제 객체를 찾아 오버라이드된 자식 클래스의 메소드의 결과가 출력된다.

=> 다형성을 보여준다.

728x90