メソッド: 再利用可能なロジック
引数を受け取り、処理し、結果を返す。
メソッド
クラスに属する関数。
static
インスタンス不要。
可変長引数
任意個数の引数を受け取る。
メソッド
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); // 5Calculator.multiply(2, 3); // 6calc.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; // 入力のみに依存}パターン
// オーバーロード(同名、異なる引数)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: オーバーロード
同名で引数の異なるメソッドを複数作成してください。