Java - クラス

クラスとは

クラスとは、プログラムの基本となる設計図のようなものです。Java でプログラムを組む場合、それらの設計図からインスタンスと呼ばれるモノを作って処理を行います。目的の処理を行うためには、設計図にどのような機能やデータを持たなくてはならないのか、正しく設計する必要があります。クラスの書式は以下のとおりです。

class クラス名 {

}
クラスの書式

例えば、2つの値を足し算するクラスを作る場合、以下のようなクラスになります。クラスの中には、計算結果を保存するための result (フィールド) と、足し算を行う add (メソッド) が定義しています。

class Calc{
  int result;
  
  void add(int val1, int val2){
    result = val1 + val2;
  }
}
Calc クラス

インスタンスの生成

定義されたクラスからインスタンスを作成し、処理が行われます。クラスからインスタンスを作成するには newを使います。

クラス名 変数名 = new クラス名(引数);
インスタンスの生成

Calc クラスからインスタンスを生成するには、以下の記述になります。

Calc calc = new Calc();
インスタンスの生成

インスタンスは任意の数だけ生成することができます。設計図は同じでも生成したインスタンスは別々のものとして扱われます。

Calc calc1;
Calc calc2;

calc1 = new Calc();
calc2 = new Calc();
インスタンスの生成

メソッドとフィールドへのアクセス

生成したインスタンスに対して、元となるクラスで定義されているメソッドやフィールドにアクセスするためには、以下のように記述します。

インスタンス名.メソッド名(引数);
インスタンス名.フィールド名;
メソッドへのアクセス

Calc クラスからインスタンスを生成し、add メソッドにアクセスするためには . (ピリオド) で接続してアクセスします。

Calc calc = new Calc();
calc.add(1, 2);
メソッドへのアクセス

実際に動作するプログラムを記述する場合、main メソッドに記述します。以下のサンプルコードでは、Calc クラスから calc インスタンスを生成し、add メソッドにアクセスしています。add メソッドには、引数として 12 を与えているため、result フィールドは 3 を返します。


class test{
  public static void main(String[] args){
    
    Calc calc = new Calc();
    calc.add(1, 2);
    
    System.out.println(calc.result); // 3
  }
}

class Calc{
  int result;
  
  void add(int val1, int val2){
    result = val1 + val2;
  }
}
2つの値を加算するプログラム

関連記事