Java Technology

[Java] メンバ変数とは

2020-12-13

メンバ変数に関して整理。


メンバ変数とは

クラスの中で書かれた変数のこと。

メソッドの外で記述され、クラス内のメソッドからは自由にアクセスできる。例で見ると、Mountainクラスの中にある、nameとplaceがメンバ変数となる。

//Mountain.java

public class Mountain {
    // メンバ変数
    public String name;
    public String place;
    
    // メソッド
    public void mountainPlace(){
        System.out.println(name + "は" + place + "にあります。");
    }
}


なんでメンバ変数はあるの?

定義したクラスのオブジェクトを作成した際、オブジェクト内の性質として、保存しておくことができるから。

クラス内では、二点加えられる。

  1. メンバ変数:どんな情報を入れるか決める
  2. メソッド:どんな処理をするか決める

上記のMountain.javaの例では、メンバ変数に名前と場所の情報を入れられるような性質を加えてみた。


メンバ変数の例

//Main.java


//Mountain.java


Mountainクラスでは、nameという性質とplaceという性質を追加した。

nameとplaceは名前として勝手に付けたが、これは入れたい情報によってなんでも良い。例えば高さを追加したかったら、 Heightという変数を入れても良い。

そしてMain.javaで実際にクラスからインスタンスを作る。インスタンスを作る際は、メンバ変数で決めた項目に具体的な情報を入れる。

例えば例のMain.javaでは、mountain1というインスタンスには名前に「富士山」、場所に「静岡県と山梨県の間」と入れてみた。

// Main.java
public class Main {
    public static void main(String[] args) {
        
        //クラスのオブジェクトを生成
        Mountain mountain1 = new Mountain();
        Mountain mountain2 = new Mountain();
        Mountain mountain3 = new Mountain();
        
        //Mountainクラスのメンバ変数を参照する
        mountain1.name = "富士山";
        mountain1.place = "静岡県と山梨県の間";
        
        mountain2.name = "谷川岳";
        mountain2.place = "群馬県";
        
        mountain3.name = "唐松岳";
        mountain3.place = "長野県と富山県の間";
        
        //Mountainクラスのメソッドを呼出し
        mountain1.mountainPlace();
        mountain2.mountainPlace();
        mountain3.mountainPlace();
        
        
    }
 
}
//Mountain.java (public classは一つのファイルで二つに設定できないので、別ファイルを作成)
public class Mountain {
    // メンバ変数
    public String name;
    public String place;
    
    // メソッド
    public void mountainPlace(){
        System.out.println(name + "は" + place + "にあります。");
    }
}

-Java, Technology