mainメソッドとプログラムの開始

広告

Java のプログラムを実行すると、最初に main メソッドという特別なメソッドが呼び出され、その中に記述された処理が順に実行されます。オブジェクト指向を使ったプログラミングでは、main メソッドの中で必要なオブジェクトを作成しながら処理を進めていくことになります。ここでは main メソッドの役割と、プログラムが実行されてから処理が行われるまでの流れについて解説します。

mainメソッドとは

Java のプログラムは main メソッドから実行が開始されます。 Java を使って作成されたプログラムを起動すると、 Java 仮想マシン(JVM)は最初にプログラムの中から main メソッドを探し、その中に書かれている処理を順番に実行していきます。

そのため Java でプログラムを作成する場合、通常は次のような main メソッドを定義します。

public class Sample {
  public static void main(String[] args) {

    System.out.println("Hello");

  }
}

この例では、プログラムを実行すると Sample クラスがメモリに読み込まれたあと、そのクラスの中にある main メソッドが呼び出されます。そして main メソッドの中に書かれている処理が順番に実行され、画面に「Hello」と表示されます。

mainメソッドの書き方

main メソッドは次のような形式で記述します。

public static void main(String[] args)

main メソッドは外部から呼び出されるメソッドのため、アクセス修飾子として public が指定されています。また main メソッドはプログラム開始時にすぐに呼び出されるため、オブジェクトを生成しなくてもメソッドを呼び出すことができるように static が指定されています。

※ static が付いたメソッドを static メソッドまたはクラスメソッドと呼びます。 static メソッドはオブジェクトを作成しなくても「クラス名.メソッド名()」で呼び出すことができます。

mainメソッドからオブジェクトを作成する

Javav のオブジェクト指向を使ったプログラミングでは、最初に呼び出される main メソッドの中でクラスからオブジェクトを作成してプログラムの処理を行うように記述していきます。

public class Sample {
  public static void main(String[] args) {
    Car myCar = new Car();
    myCar.showPrice();
  }
}

class Car {
  int price = 3200;

  void showPrice() {
    System.out.println(price);
  }
}

この例では main メソッドの中で Car クラスのオブジェクトを作成し、そのオブジェクトのメソッドを呼び出しています。

それでは実際にコンパイルを行って実行してみます。先ほどのサンプルを Sample.java という名前で保存します。そのあとで次のようにコンパイルしてください。

javac -encoding UTF-8 Sample.java

mainメソッドからオブジェクトを作成する(1)

その後で、次のように実行してください。

java Sample

mainメソッドからオブジェクトを作成する(2)

プログラムが実行されると main メソッドが呼び出されます。 main メソッドの中で Car クラスのオブジェクトが作成され、そのオブジェクトに対して showPrice メソッドが呼び出されます。その結果としてオブジェクトの price フィールドの値が画面に出力されました。

-- --

main メソッドの役割と、プログラムが実行されてから処理が行われるまでの流れについて解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

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