JavaA2Z

KAB-studio > プログラミング > JavaA2Z > インスタンスとは

インスタンス

日本語 実体
英語 instance
ふりがな いんすたんす
フリガナ インスタンス

解説

クラスの「実体」。
クラスプリミティブ型と異なり、クラス変数を作るだけでは使用できない。
クラスnewを使用することで初めてクラスの実体「インスタンス」を作ることができる。
 
インスタンスは概念上は「どこかに作られた、クラスフィールドメソッドを持つもの」である。
作られた場所は「どこか」のため、直接操作することはできない。操作は「参照」を使用してう。
参照はインスタンスの作成時に返される。クラス変数は、正確には「クラス参照変数」であり、この変数にインスタンスの参照を格納することができる。
参照の格納後は、その参照を使用してクラスのインスタンスを操作することができる。
と言っても、インスタンスが直接操作できず、参照を通してのみ操作できることを考えれば、参照=クラスと考えてしまって構わない。
 
実際には、インスタンスはメモリ上に確保された領域である。
確保されたメモリ領域には、フィールドが格納する値や、「どのメソッドを呼ぶか」といったデータが置かれている。
インスタンスには「自分のクラスが何のクラスなのか」が情報として格納されているため、参照を格納したがインスタンスのスーパークラスであったとしてもインスタンスのクラスメソッド呼び出すことができ、またダウンキャストえる。これが、ポリモーフィズムされる理由である。
 
また、クラスの他に、配列の実体も「インスタンス」と呼ぶが、普通はあまりこちらの意味では使用しない。
さらに、「インスタンス」がそのものずばり「実体」としての意味として使用されることがあるため、特に英文に出てきた場合には文脈から把握する必要がある。

参考サイト

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

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

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

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // Integerクラスのインスタンスを作ります。
        new Integer( 100 );
        // これだと、インスタンスができただけ。
        // Javaではインスタンスを直接操作することは
        // できないため、このインスタンスは
        // 「生き霊」化します(ただし、あとで
        // ガベージコレクタが削除してくれます)。
        
        // インスタンスの作成と同時に、
        // そのインスタンスへの参照が戻り値として
        // 返されるので、それを受け取ります。
        Integer integer = new Integer( 100 );
        // 参照を使用することで、インスタンスを
        // 操作できます。
        System.out.println( integer );
        // 100

        // 配列の実体も「インスタンス」です。
        // 要素数5のint型配列のインスタンスを作ります。
        new int[5];
        // これも、参照で受け取らないと使えません。
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // Integerクラスのインスタンスを作ります。
        new Integer( 100 );
        // これだと、インスタンスができただけ。
        // Javaではインスタンスを直接操作することは
        // できないため、このインスタンスは
        // 「生き霊」化します(ただし、あとで
        // ガベージコレクタが削除してくれます)。
        
        // インスタンスの作成と同時に、
        // そのインスタンスへの参照が戻り値として
        // 返されるので、それを受け取ります。
        Integer integer = new Integer( 100 );
        // 参照を使用することで、インスタンスを
        // 操作できます。
        System.out.println( integer );
        // 100

        // 配列の実体も「インスタンス」です。
        // 要素数5のint型配列のインスタンスを作ります。
        new int[5];
        // これも、参照で受け取らないと使えません。
    }
}

この単語を含むページ

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

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

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