publicって何?どういう役割をしているの?
public static void main(String[] args)がないとどうなるの?
Javaのコードを書いていて、必ずと言っていいほど出てくる「public static void main(String[] args)」。呪文のように書かれているコードを見て最初は時は全くわかりませんでした。Javaを学習していて、私と同じようなことを思った方もいると思いますので、この記事ではmainメソッドについてわかりやすく解説します。
mainメソッドとは?
Javaプログラムが実行されるとき、最初に呼び出される特別なメソッドが「mainメソッド」です。このメソッドは、Javaプログラムの「エントリーポイント(開始地点)」として機能します。すべてのJavaアプリケーションは、少なくとも1つのmainメソッドを持っている必要があります。
public class Main {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
このコードでは、mainメソッドが呼び出され、Hello,World!という文字列がコンソール上に出力されます。
mainメソッドの書き方と構成
mainメソッドには特定の構文があり、それに従って記述しなければなりません。
public static void main(String[] args) {
// 実行したいコード
}
ワードそれぞれについて説明します。
- public
アクセス修飾子を表します。public は「どこからでもアクセスできる」という意味です。Javaプログラムの実行時に、外部からこの main メソッドが呼び出されるため、必ず public にする必要があります。
- static
static は、インスタンスを生成せずに(new しなくても)このメソッドを呼び出せることを意味します。Javaの実行環境がクラスのインスタンスを作成しなくても main メソッドを呼び出せるようにするため、static を使います。
- void
このメソッドは値を返さない(戻り値がない)ことを表します。main メソッドはプログラムの開始点なので、処理が終了しても戻り値は必要ありません。
- main
メソッドの名前です。Javaプログラムの実行開始点として、必ず main という名前のメソッドが必要です。これはJavaの仕様で決まっているルールです。
- String[]
main メソッドが引数として受け取るデータの型を示しています。String[] は、文字列(String)の配列です。コマンドラインからプログラムを実行するときに、オプションやパラメータを受け取るために使われます。例えば、プログラムを実行する際に追加の情報(ファイル名や設定値など)を渡したい場合、この引数を使います。
- args
引数名です。args は “arguments” の略で、プログラムに渡されたコマンドライン引数を表します。これは任意の名前に変更できますが、慣習的に args と書かれることが多いです。
mainメソッドがないとどうなるの?
もしクラスにmainメソッドがない場合、Javaプログラムは正しく実行されません。
public class NoMainExample {
// mainメソッドがないため、実行時エラーが発生
}
まとめ
Javaのmainメソッドは、プログラムを開始するための非常に重要な要素です。この記事では、mainメソッドの構成や書き方について説明しましたが、特に注意すべき点は次のとおりです。
- mainメソッドは必ずpublic static voidで始まる
- mainという名前は変更できない
- コマンドラインを引数としてString[] argsを受け取る
mainメソッドの基本を理解することで、Javaプログラムをスムーズに実行できるようになります。初心者の方も、ぜひ自分で色々なプログラムを書いてmainメソッドを活用してみてください。