CS 및 면접 질문
동적 바인딩
ho-bolt
2022. 6. 16. 14:13
🌏 바인딩이란?
함수를 컴파일하면, 선언된 함수의 코드는 메모리에 저장되고, 함수 호출문에는 코드의 메모리 주소값이 저장된다.
여기서 프로그램을 실행하면 함수 호출문에서 함수 코드가 저장된 주소로 이동한 후 함수를 실행하고 원래 위치로 돌아오는데 이때 함수 호 출문에서 함수 코드가 저장된 주소로 연결하는 과정을 바인딩이라 한다.
🚗 동적 바인딩
동적 바인딩
은 컴파일 과정에서 부모 클래스의 함수를 참조하는데 런타임 과정에서 실제로는 자식 클래스의 함수와 바인딩된다
why?
정적 바인딩
의 경우, 컴파일 과정에서 정의된 타입 형식을 참조해 어떤 클래스와 메소드를 참조할 지 결정한다. (super class의 메소드 )
동적 바인딩
의 경우에는 런타임에서 실제 객체를 찾아 오버라이드된 자식 클래스의 메소드의 결과가 출력된다.
=> 다형성을 보여준다.
728x90