JavaA2Z

KAB-studio > プログラミング > JavaA2Z > 動的束縛とは

動的束縛

日本語 動的束縛
英語 dynamic binding
ふりがな どうてきそくばく
フリガナ ドウテキソクバク

解説

ポリモーフィズムによって、呼ばれるメソッド動的に決定されること。
静的束縛」と対になる単語。メソッド呼び出す際に、そのメソッド動的に変化する、つまり実中の状況によって異なることを指す。
 
「動的束縛」という言葉は非常に分かりにくい。
「動的束縛」はdynamic bindingの訳であり、bindingは「束縛」というよりは「結び付ける」という表現の方が近い。
普通のメソッド(非staticメソッド)は、参照メソッドではなく、インスタンスが持つメソッドが呼び出される。つまり「動的」に、呼び出されるメソッドが「結び付けられ」、そのメソッドが呼び出されるわけである。

参考サイト

  • (参考サイトはありません)

(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // たとえばObjectクラスのhashCode()メソッドの場合。
        Object object = null;

        // object変数に入っているのがSampleクラスの
        // インスタンスへの参照の場合。
        object = new Sample();
        System.out.println( object.hashCode() );
        // ハッシュ値として「参照値」が出力されます。

        // object変数に入っているのがStringクラスの
        // インスタンスへの参照の場合。
        object = new String( "A" );
        System.out.println( object.hashCode() );
        // 65
        // StringクラスでオーバーライドされたhashCode()
        // メソッドは全く違う結果を返します。

        // このように、object変数のhashCode()メソッドを
        // 呼び出す際に、動的に「実際に呼び出すメソッド」を
        // 結び付けているわけです。これが「動的束縛」です。
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // たとえばObjectクラスのhashCode()メソッドの場合。
        Object object = null;

        // object変数に入っているのがSampleクラスの
        // インスタンスへの参照の場合。
        object = new Sample();
        System.out.println( object.hashCode() );
        // ハッシュ値として「参照値」が出力されます。

        // object変数に入っているのがStringクラスの
        // インスタンスへの参照の場合。
        object = new String( "A" );
        System.out.println( object.hashCode() );
        // 65
        // StringクラスでオーバーライドされたhashCode()
        // メソッドは全く違う結果を返します。

        // このように、object変数のhashCode()メソッドを
        // 呼び出す際に、動的に「実際に呼び出すメソッド」を
        // 結び付けているわけです。これが「動的束縛」です。
    }
}

この単語を含むページ

「みだし」に含まれているページ

「解説」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/05/23
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。