メソッド: 再利用可能なロジック

引数を受け取り、処理し、結果を返す。

レシピカード (Recipe Card)

メソッドは「レシピカード」です。 **メソッド名** = 料理名(add, calculate, validate) **引数** = 材料(int a, int b) **戻り値** = 完成した料理(return result) 一度レシピを書いておけば、誰でも何度でも同じ料理を作れます。

メソッド
クラスに属する関数。
static
インスタンス不要。
可変長引数
任意個数の引数を受け取る。

メソッド

Instance, static, varargs
public class Calculator {
// インスタンスメソッド
public int add(int a, int b) {
return a + b;
}
// 静的メソッド
public static int multiply(int a, int b) {
return a * b;
}
// 可変長引数
public int sum(int... numbers) {
int total = 0;
for (int n : numbers) {
total += n;
}
return total;
}
}
// 使用
Calculator calc = new Calculator();
calc.add(2, 3); // 5
Calculator.multiply(2, 3); // 6
calc.sum(1, 2, 3, 4, 5); // 15
実行結果
5\n6\n15
Bad
// ❌ Bad: 副作用のあるメソッド
public int getAndIncrement() {
count++; // 状態を変更
return count;
}
Good
// ✅ Good: 純粋関数
public int add(int a, int b) {
return a + b; // 入力のみに依存
}

パターン

Overload, Method ref, Chaining
// オーバーロード(同名、異なる引数)
public void print(int n) { ... }
public void print(String s) { ... }
public void print(int n, String s) { ... }
// メソッド参照 (Java 8+)
List<String> names = List.of("Alice", "Bob");
names.forEach(System.out::println);
// 戻り値の型推論(var)
var result = calculateSomething();
// メソッドチェーン
String result = text
.trim()
.toLowerCase()
.replace(" ", "_");
// ビルダーパターン
Person person = Person.builder()
.name("Alice")
.age(30)
.build();
Tip: 副作用を避け、純粋関数に近づける。

合格ライン

可変長引数を使える
メソッドチェーンを書ける
static と instance の違いを説明できる

参考リンク

演習課題

課題1: メソッド作成
引数を受け取って計算するメソッドを作成してください。
課題2: オーバーロード
同名で引数の異なるメソッドを複数作成してください。

次のステップ