Javaを学び始めたばかりの方にとって、public static void main(String[] args) の意味を理解することは、最初のハードルの一つですよね。本記事では、この中に含まれる public, static, void の意味を一つずつ分かりやすく解説します!
1. public の意味
public は アクセス修飾子 と呼ばれるもので、メソッドや変数のアクセス範囲を指定します。
ポイント
- どこからでもアクセス可能
- 他のクラスやパッケージから自由に呼び出せる。
例
public class Example {
public void greet() {
System.out.println("Hello, World!");
}
}
この場合、greet メソッドはどこからでも呼び出すことができます。
使いどころ
- プログラムの他の部分で呼び出す必要があるメソッドや変数に付けます。
- 例えば、
mainメソッドはプログラムのエントリーポイントとしてどこからでもアクセス可能にする必要があるので、publicを付けます。
2. static の意味
static は クラスに属するメソッドや変数 を定義します。
ポイント
- インスタンスを生成しなくても使える
- クラス名を使って直接呼び出せる。
例
public class Example {
public static void greet() {
System.out.println("Hello, World!");
}
}
この場合、Example.greet(); と書くだけで呼び出せます。
使いどころ
- クラス全体で共有されるメソッドや変数に使います。
- 例えば、ユーティリティ関数や定数の定義に便利です。
3. void の意味
void は、メソッドが 値を返さない ことを意味します。
ポイント
- メソッドが処理を終えた後、呼び出し元に結果を返さない。
- 結果を利用しないメソッド(表示やデータ操作など)に使う。
例
public class Example {
public void printMessage() {
System.out.println("This is a void method.");
}
}
この場合、printMessage メソッドは呼び出し元に何も返さず、単にメッセージを表示するだけです。
使いどころ
- 結果を返す必要がない場合に使います。
- 例えば、ログを出力したり、画面に情報を表示するメソッドなど。
4. 組み合わせて使う:public static void
これらを組み合わせると、どこからでもアクセス可能で、クラスに属し、値を返さないメソッドができます。
例:main メソッド
public class Main {
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}
解説
-
public:- 他のプログラムやJava Virtual Machine (JVM) からアクセス可能。
-
static:- インスタンスを作らずにJVMが直接呼び出せる。
-
void:- プログラムのエントリーポイントとして、戻り値を必要としない。
5. 戻り値が必要な場合との比較
void の代わりに戻り値の型を指定すると、結果を呼び出し元に返すことができます。
例
public class Calculator {
public int add(int a, int b) {
return a + b;
}
}
この場合、add メソッドは int 型の値(a + b の結果)を返します。
呼び出し例
Calculator calc = new Calculator();
int result = calc.add(3, 5);
System.out.println(result); // 出力: 8
まとめ
| 修飾子 | 意味 | 主な使いどころ |
|---|---|---|
public |
どこからでもアクセス可能 | メソッドや変数を外部から利用可能にする場合 |
static |
インスタンスを作らずに利用可能 | クラス全体で共有するユーティリティ関数や定数 |
void |
値を返さない | 結果を返さずに処理だけ行うメソッド |
これで、public static void の基本的な意味と使い方が理解できたと思います!Javaプログラムを実際に書いてみて、このキーワードの役割を体感してください!
補足
質問や追加の疑問があれば、コメントで教えてください! 😊