#9 Javaで学ぶ関数の基本
Javaでは、関数のことを「メソッド」と呼び、必ずクラスという入れ物の中に書く必要があります。この記事では、Javaにおけるメソッドの基本と、引数を柔軟に扱うテクニックを解説します。
メソッドを作ってみる
public class Main {
static void greet(String name) {
System.out.println("こんにちは、" + name + "さん");
}
}
戻り値がない場合は`void`、引数には必ず型を書きます。
値を返すメソッド
static int add(int a, int b) {
return a + b;
}
可変長引数
受け取る引数の数が決まっていない場合は、可変長引数(`...`)を使うと、配列のように複数の値をまとめて受け取れます。
static int sum(int... numbers) {
int total = 0;
for (int n : numbers) {
total += n;
}
return total;
}
sum(1, 2, 3); // 3個
sum(1, 2, 3, 4, 5); // 5個
メソッドのオーバーロード
Javaにはデフォルト引数がありませんが、代わりに同じ名前で引数の型・数が異なる複数のメソッドを定義できる「オーバーロード」という仕組みがあります。
static void greet(String name) {
greet(name, "さん");
}
static void greet(String name, String honorific) {
System.out.println("こんにちは、" + name + honorific);
}
引数を省略したい呼び出しパターンごとに、シンプルなメソッドを用意しておく、という考え方です。
Javaならではの注意点
PythonやJavaScriptの「関数」は単体で存在できますが、Javaでは必ずクラスの中にメソッドとして書く必要があります。これはJavaが「オブジェクト指向」を徹底している言語だからです。最初は「なぜクラスが必要なのか」と感じるかもしれませんが、まずは`static`を付けたメソッドとして書く、という決まったパターンに慣れておけば十分です。オーバーロードを使う際は、引数の型や数が紛らわしい組み合わせを避け、呼び出し側が迷わない設計を意識しましょう。
まとめ
Javaのメソッドはクラスの中に書き、`void`または戻り値の型を明示します。可変長引数やオーバーロードを使うことで、Pythonのデフォルト引数に近い柔軟さも実現できます。
本ページはプロモーションを含みます。
参考書籍(PR)
Javaをもっと学びたい方には「スッキリわかるJava入門 第4版」がおすすめです。
PR
コードを書かずに自動化したい方へ
「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿