JavaA2Z

KAB-studio > プログラミング > JavaA2Z > getter/setterとは

getter/setter

日本語 取得/設定
英語 getter setter
ふりがな げったー/せったー
フリガナ ゲッター/セッター

解説

getterメソッドsetterメソッドのこと。
通常、フィールドprivateフィールドとするため、そのフィールドから値を取得する、また値をセットするメソッドが必要となる。それがgetter/setterである。
詳しくは「getter」「setter」を参照
Eclipseであれば、ソースの右クリックメニューの「ソース」-「Getter および Setter の生成」で簡単に作成できる。
 
getter/setterのメソッド名は非常に重要である。なぜなら、フィールド名を指定すると、そのフィールド名を元に自動的にgetter/setterメソッド名を作り、そのメソッド名でgetter/setterを呼び出す、という機能が多く存在するためである。
たとえばdataというフィールドを持つクラスがあるとする。このクラスに、"data"という文字列を指定することでdataフィールドの値を取得したり値をセットしたりすることができる機能が存在する。
この時、"data"という名前から、getter"getData"setter"setData"というメソッド名を自動生成し、これらのメソッドが呼び出されている。つまり、フィールド名からメソッド名を予測し、そのメソッドが呼び出されているのである。
こういった機能を使用するため、getter及びsetterメソッド名は必ずフィールド名を元に生成すること。正しいメソッド名にしておけば、全く関係ない2つのクラスが同じフィールド名のフィールドを持つ場合に「自動的にコピーする」といったこともできるようになる。

参考サイト

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

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

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

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        NormalClass normalClass = new NormalClass();
        // privateフィールドを、getter/setterを経由して
        // アクセスします。
        normalClass.setData( 100 );
        System.out.println( normalClass.getData() );
        // 100
    }
}

/**
*   フツーのクラス。
*/
class NormalClass
{
    /**
    *    privateなフィールド。
    */
    private int data;
    // このフィールドのgetter/setterが、
    // 以下の2つのメソッドです。

    /**
    *    getter。
    */
    public int getData()
    {
        return data;
    }

    /**
    *    setter。
    */
    public void setData( int value )
    {
        this.data = value;
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        NormalClass normalClass = new NormalClass();
        // privateフィールドを、getter/setterを経由して
        // アクセスします。
        normalClass.setData( 100 );
        System.out.println( normalClass.getData() );
        // 100
    }
}

/**
*   フツーのクラス。
*/
class NormalClass
{
    /**
    *    privateなフィールド。
    */
    private int data;
    // このフィールドのgetter/setterが、
    // 以下の2つのメソッドです。

    /**
    *    getter。
    */
    public int getData()
    {
        return data;
    }

    /**
    *    setter。
    */
    public void setData( int value )
    {
        this.data = value;
    }
}

この単語を含むページ

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

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