Javaメソッド:定義、呼び出し、効果的な活用法
Javaメソッド
このガイドでは、Javaメソッドの仕組み、宣言と呼び出し方法、ユーザー定義および標準ライブラリメソッドの活用を明確な例で説明します。
Javaメソッドとは?
メソッドは単一の明確なタスクを実行する自己完結型のコードブロックです。複雑な問題を小さなメソッドに分割することで、可読性、保守性、再利用性が向上します。
例えば、円を描画して色を塗る場合:
drawCircle()– 円の輪郭を描画colorCircle()– 円を色で塗りつぶす
このモジュールアプローチにより、コードが理解しやすく拡張しやすくなります。
Javaには2つのメソッドカテゴリがあります:
- ユーザー定義メソッド – 開発者が特定の要件を満たすために作成
- 標準ライブラリメソッド – Java標準ライブラリが提供する事前構築ユーティリティ
Javaメソッドの宣言
最もシンプルな宣言は以下の通り:
returnType methodName() {
// メソッド本体
}
- returnType – メソッドが返すデータ型(例:
int)。何も返さない場合はvoidを使用。 - methodName – メソッドを呼び出すための識別子。
- メソッド本体 – メソッド呼び出し時に実行されるコード。中括弧で囲む。
例:
int addNumbers() {
// コード
}
完全な構文には修飾子、staticキーワード、パラメータが追加されます:
modifier static returnType methodName(parameter1, parameter2, ...) {
// メソッド本体
}
- modifier – アクセス指定子(public、private、protectedなど)
- static – インスタンスなしでメソッドを呼び出し可能にする
- parameters – メソッドに渡される値
メソッドの呼び出し
宣言後、メソッド名に続けて括弧で呼び出します。例:
addNumbers();
例1: ユーザー定義メソッド
class Main {
// インスタンスメソッド
public int addNumbers(int a, int b) {
int sum = a + b;
return sum;
}
public static void main(String[] args) {
int num1 = 25;
int num2 = 15;
Main obj = new Main();
int result = obj.addNumbers(num1, num2);
System.out.println("合計は: " + result);
}
}
出力
合計は: 40
メソッドaddNumbers()はstaticでないため、オブジェクト上で呼び出されます。
戻り値の型
メソッドはreturn文で値を返すことができます。返される値の型は宣言された戻り値の型と一致しなければなりません。
例2: 値を返すstaticメソッド
class Main {
public static int square(int num) {
return num * num;
}
public static void main(String[] args) {
int result = square(10);
System.out.println("10の2乗は: " + result);
}
}
出力
10の2乗は: 100
何も返さないメソッドの場合、戻り値の型をvoidで宣言します:
public void display(int a) {
System.out.println("値は: " + a);
}
パラメータ
パラメータはメソッドシグネチャのプレースホルダで、呼び出し時に引数を受け取ります。Javaでは任意の数のパラメータを許可します。
int addNumbers(int a, int b) { /* ... */ }
int addNumbers() { /* ... */ }
例3: 異なるパラメータ数のメソッド
class Main {
public void display1() {
System.out.println("パラメータなしメソッド");
}
public void display2(int a) {
System.out.println("単一パラメータメソッド: " + a);
}
public static void main(String[] args) {
Main obj = new Main();
obj.display1();
obj.display2(24);
}
}
出力
パラメータなしメソッド 単一パラメータメソッド: 24
Javaの強い型付けにより、各引数の型が対応するパラメータと一致することが保証されます。
標準ライブラリメソッド
Javaクラスライブラリ(JCL)には多くのすぐに使えるメソッドがバンドルされています。一般的な例:
print()–java.io.PrintStreamから、テキスト出力用sqrt()–Mathから、平方根計算用
例4: 標準メソッドの使用
public class Main {
public static void main(String[] args) {
System.out.print("4の平方根は: " + Math.sqrt(4));
}
}
出力
4の平方根は: 2.0
その他のライブラリメソッドは公式Java APIドキュメントで探索できます。
なぜメソッドを使うのか?
1. コードの再利用性 – 一度書いて何度も使用。例:
public class Main {
private static int getSquare(int x) {
return x * x;
}
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
int result = getSquare(i);
System.out.println(i + "の2乗は: " + result);
}
}
}
出力:
1の2乗は: 1 2の2乗は: 4 3の2乗は: 9 4の2乗は: 16 5の2乗は: 25
getSquare()を使用することで、繰り返しの算術コードを回避できます。
2. 可読性とデバッグ – ロジックをメソッドにカプセル化することで、理解しやすくテストしやすい論理単位が作られます。
Java
- Java演算子をマスター:種類、構文、実践例
- Javaのtry-with-resourcesをマスターする:自動リソース管理の仕組みと活用法
- Javaアノテーション完全ガイド:種類、配置場所、実践例
- Javaアノテーションタイプ完全ガイド:事前定義・カスタム・メタアノテーション
- Java String.charAt()完全解説:構文、戻り値、例外、実例
- Java String.endsWith()マスター:文字列サフィックスチェック実例付き
- Java文字列置換マスター:replace()、replaceAll()、replaceFirst()徹底解説
- Javaメソッドオーバーライド: スーパークラスの振る舞いをカスタマイズ
- Java 9コレクションファクトリメソッド:不変List、Set、Mapを簡潔に作成
- Java 9プライベートインターフェースメソッド:カプセル化とコード再利用を強化
- Java 8メソッド参照完全ガイド:::演算子でコードを簡潔に