프로그래밍 방식으로 인한 정적바인딩과 동적바인딩
프로그램이 어떤 방식으로 운용되는지에따라 바인딩(binding)이 존재한다.
데이터가 언제 어떤 형태로 결정되는가에 따라 정적바인딩과 동적바인딩으로 나뉜다.
어떤 방식으로 하는 가에 따라 개발방식과 프로그램이 달라진다.
정적바인딩(Static binding)
컴파일할때 변수와 함수의 타입이 결정된다.
프로그램 실행중 타입이 결정되는 동적바인딩에 비해 미리 결정 되어 있어 프로그램 실행속도가 전반적으로 빠르다.
또한 프로그램 실행중 형태를 바꿀 수 없기 때문에 타입에러로 인한 문제점을 초기에 발견할 수 있어 안정성이 향상된다.
다만 모든 타입이 결정되어 있기 때문에 유연성을 요구하는 코드의 재사용에서 불편함을 초래할 수 있다.
동적바인딩(Dynamic binding)
프로그램 실행중에 변수와 함수의 타입이 결정된다.
타입이 미리 정해져 있지 않고 프로그램 실행 중에 결정되기 때문에 다양한 방식의 프로그래밍이 가능해 진다.
정적바인딩에 비해 프로그램 속도가 상대적으로 느리고 타입에러가 많다.