クラス、メソッド、フィールドとは

Java でプログラムを作成する場合、クラスが基本となります。クラスの中には特定の処理を実行するプログラムをまとめたメソッドや、クラスの中で情報を保存するためのフィールドがあります。詳しい説明は別のところで行いますが、ここでは Java を使ったプログラミングを開始するうえでクラス、メソッド、フィールドがどういったものなのか簡単に解説します。

(Last modified: )

クラスとは

最初にクラスについてです。クラスは Java などのオブジェクト指向と呼ばれるプログラミング言語の基本となるもので、特定の目的を達成するのに必要なものを集めたものです。まずは簡単な例をみてください。

class Hello{
  public static void main(String[] args){
    System.out.println("Hello");
  }
}

Hello というクラスを定義しました。このクラスは画面にメッセージを表示する目的に必要なものを集めたものです。これから作成する Java のアプリケーションはこのようなクラスを 1 つまたは複数組み合わせたものになります。

クラスを定義する場合は、次のように行います。

class クラス名{
  // ...
}

class のあとにクラスの名前を記述し、そのあとの { から } までのブロックの間に、特定の処理を行うためのプログラムを集めたメソッドや、クラスの中で使用されるデータを保管するためのフィールドを定義していきます。クラスというのは逆に、特定の目的のために必要なメソッドをフィールドをまとめたものと言えます。

例えば電卓のような機能を提供するクラスを定義してみます。

class Dentaku{
  public static void main(String[] args){
    Dentaku dentaku = new Dentaku();
    dentaku.plus(10,5);
    dentaku.minus(9,2);
  }

  void plus(int val1, int val2){
    System.out.println(val1 + val2);
  }

  void minus(int val1, int val2){
    System.out.println(val1 - val2);
  }
}

Dentaku クラスでは、足し算を行う plus メソッド、引き算を行う minus メソッド、最初に呼び出される main メソッド、の 3 つのメソッドがクラスの中で定義されています。さらに掛け算や割り算などの機能を行うメソッドを追加していったり、計算結果を一時的に保管するフィールドを追加していくことで、より便利なプログラムになっていきます。

プログラムが複雑になってくると、ひとつのアプリケーションで使用するクラスの数も複数になり、クラスの中で定義されているメソッドやフィールドも増えてきます。

メソッドとは

続いてメソッドです。メソッドはクラスの中で特定の処理を行うために必要なプログラムをまとめたものです。

メソッドを定義する場合は、次のように行います。

class クラス名{
  void メソッド名(){
    // ..
  }
}

メソッドは先頭に戻り値のデータ型を記述したあとでメソッドの名前を記述します。括弧()の中にはメソッドが呼び出されるときに渡されてくる値を受け取るための仮引数を記述することができますが、今回は省略しています。そのあとの { から } のブロックの中にこのメソッドが呼び出されたときに行う処理を記述します。

先ほどの電卓のクラスでは plus と minus というメソッドを定義しました、今度は挨拶だけを行うロボットのクラスを定義してみます。

class Robot{
  public static void main(String[] args){
    Robot robot = new Robot();
    robot.hello();
    robot.bye();
  }

  void hello(){
    System.out.println("Hello");
  }

  void bye(){
    System.out.println("Bye");
  }
}

Robot クラスでは、挨拶を行う hello メソッドと bye メソッド、それに最初に呼び出される main メソッド、の 3 つのメソッドがクラスの中で定義されています。今回は Hello と Bye をそれぞれ別の目的としてメソッドを分けましたが、挨拶というメソッドにまとめた場合は次のようになります。

class Robot{
  public static void main(String[] args){
    Robot robot = new Robot();
    robot.greeting("Hello");
    robot.greeting("Bye");
  }

  void greeting(String msg){
    System.out.println(msg);
  }
}

今回のような簡単な場合はひとつのメソッドでまとめたほうが簡単ですが、例えば Hello と挨拶するときと Bye と挨拶するときで、それぞれ異なるより複雑な処理を行うような場合には別々のメソッドにしたほうがいいかもしれません。

フィールドとは

最後にフィールドです。フィールドはクラスの中でデータの値を保管するために使用するものです。

フィールドを定義する場合は、次のように行います。

class クラス名{
  データ型 フィールド名;
}

最初にフィールドに格納するデータのデータ型を記述したあとフィールド名を指定します。

先ほどのロボットのクラスを修正して、ロボットを動かすためのメソッドと現在位置を保管するためのフィールドを追加してみます。

class Robot{
  int currentPosition = 0;

  public static void main(String[] args){
    Robot robot = new Robot();
    robot.report();
    robot.moveForward();
    robot.report();
  }

  void report(){
    System.out.println("Current Position = " + currentPosition);
  }

  void moveForward(){
    currentPosition = currentPosition + 1;
  }
}

moveForward メソッドが呼び出されると、ロボットは現在位置から一つ前進します。このとき現在位置を保管するために使用するのが currentPosition フィールドです。そして report メソッドを呼び出すと currentPosition フィールドに保管されている現在位置を画面に表示します。

このようにフィールドを用意することで、あとで使用する可能性があるデータを保管しておくことができます。

クラス、メソッド、フィールドについてより詳しい解説は別のページにて行います。ここではプログラムの意味はあまり気にされないでいいので、クラスやメソッド、フィールドがどういったものなのかだけ覚えておいてください。

-- --

Java のプログラミングで使用するクラス、メソッド、フィールドについて簡単に解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。