ダイナミックバインディング
静的型付けのプログラミング言語において、変数や式の型はコンパイル時に確定する。関数(メソッド)の存在確認は、コンパイル時にその名前(識別子)や引数リストの型、所属する名前空間および型などに基づいて事前に検査される。プログラマによって記述された関数呼び出しを、実際に関数が実装されているコードに一致させるプロセスのことをバインディングと呼ぶ。
C++やJavaといった静的型付けのオブジェクト指向言語では、オブジェクトの型に基づいて実際に呼び出される関数(メソッド)が実行時に選択される「仮想関数」(仮想メソッド)を使った動的ディスパッチ(英: dynamic dispatch)によりポリモーフィズムを実現する。コンパイル時には、所望の関数を呼び出すためのアドレス情報が(バイナリ)プログラム内に仮想関数テーブルにおけるメモリオフセットとして保持される。実行時に格納されたメモリオフセットすなわちアドレス情報(関数ポインタ)を使って所望の関数が呼び出される。この方式は、仮想関数テーブルの構造が事前に分かっているという点で、事前バインディングの一種である。