【Java】エントリーポイントって?

Java

今回は、Javaのエントリーポイントについて簡単に説明します!

Javaのエントリーポイントは、プログラムの実行が始まる場所を指します。通常、Javaプログラムのエントリーポイントはmainメソッドです。エントリーポイントは、Java仮想マシン(JVM)がプログラムを実行する際に最初に呼び出される場所であり、プログラムの実行を開始します。

mainメソッド

Javaのエントリーポイントは通常、mainメソッドとして知られています。
mainメソッドは、プログラムの開始点となる特別なメソッドです。
このメソッドは通常、プログラムを起動するときにJVMによって自動的に呼び出されます。

mainメソッドは以下の条件をすべて満たしているメソッドです。

  • mainメソッドのメソッド名はmain。
  • 修飾子として、publicおよびstaticを持ちます。
  • public修飾子は、他のクラスからアクセス可能であることを示します。
  • static修飾子は、インスタンス化せずにメソッドを呼び出すことを可能にします。
  • mainメソッドは、文字列型の配列であるargs引数を受け取ります。この配列は、プログラムの起動時に渡されるコマンドライン引数を保持します。
  • 引数の名前は自由に指定できますが、慣習としてargsという名前がよく使われます。
  • mainメソッドの返り値はvoidです。

メソッドの定義

mainメソッドは、Javaクラスの中に定義されます。
mainメソッドが含まれるクラスが、Javaプログラムのエントリーポイントとなります。

メソッドのシグネチャ

mainメソッドのシグネチャは固定されており、以下の形式を取ります。

// シグネチャ = メソッド名 + 引数の型
public static void main(String[] args){}


このシグネチャは、メソッド名がmainであり、修飾子としてpublicおよびstaticを持ち、引数として文字列型の配列 (String[] args) を受け取り、返り値がvoidであることを示します。

引数の役割

mainメソッドの引数であるargsは、プログラムの起動時に渡されるコマンドライン引数を保持します。
コマンドライン引数は、プログラムの実行時にユーザーが指定できる追加の情報や設定値を提供します。

プログラム実行

Javaプログラムを実行すると、JVMは指定されたクラス(通常はmainメソッドが含まれるクラス)を読み込み、そのmainメソッドを探して実行します。
mainメソッド内のコードが実行されることで、プログラムの実行が開始されます。
Javaのエントリーポイントであるmainメソッドは、プログラムの起動と実行を制御する重要な役割を果たします。

サンプルコード

public class Main {
    // エントリーポイント
    public static void main(String[] args) {
        // コマンドライン引数があるかどうかを確認し、あれば挨拶を表示する
        if (args.length > 0) {
            String name = args[0];
            System.out.println("Hello, " + name + "!");
        } else {
            System.out.println("Hello, world!");
        }
    }
}

このソースコードは引数を確認し挨拶を返す簡単なプログラムです。

上記のプログラムをターミナルで実行してみます。

※Javaのコンパイルと実行については上記の記事にまとめてみたのでわからない方は確認してください

実行結果:

引数なしでの実行は Hello, world! が返ってきて、引数ありの場合は Hello, + 引数(GPTBLOG) + ! で返ってきてることがわかります。

まとめ

エントリーポイントはプログラムの実行が始まる場所でメインメソッドが見つからない場合、プログラムは実行されないことを覚えておきましょう!

コメント

タイトルとURLをコピーしました