Java のメソッドとは?基本の書き方を学ぼう
新人
「Javaを勉強していると、メソッドという言葉がよく出てきますが、どんなものなのかよくわかりません。Javaのメソッドは何に使うんですか?」
先輩
「Javaのメソッドは、ひとつの処理をひとかたまりとして登録して、必要なときに呼び出せるようにした仕組みだよ。同じ作業を何回も書かずに使い回せるから、とても便利なんだ。」
新人
「なるほど。何回も同じプログラムを書くより、ひとつのメソッドとしてまとめると効率が良くなるわけですね。」
先輩
「そうだね。Javaの基本文法でも大事な部分だから、ここでしっかり覚えておくと良いよ。メソッドは、計算をしたり、文字を表示したり、データを整理したり、いろいろな場面で登場するよ。」
新人
「Javaのメソッドの書き方って、難しいんですか?」
先輩
「Javaの書き方はルールがあるけど、一度覚えればずっと使えるよ。pleiadesでGradleプロジェクトを作っても、そのままJavaのメソッドが使えるから安心して大丈夫。」
1. Javaのメソッドとは?
Javaのメソッドは、処理をまとめて名前をつけ、好きなタイミングで呼び出すための仕組みです。何度も使う処理があるとき、同じコードをコピーするのは大変で間違いのもとになります。そこでJavaのメソッドを使うと、必要なときに名前を呼ぶだけで同じ動きをしてくれるので、プログラムが見やすく整理できます。
初心者でも感覚で理解しやすいように、日常の例にするとわかりやすいです。料理のレシピを考えてみましょう。「ご飯を炊く」「お湯をわかす」などの作業が、それぞれJavaのメソッドのようなものです。作業に名前がついていれば、必要なときに呼び出すだけで同じ動きができます。Javaでもまったく同じ考え方になります。
また、Javaのメソッドはプログラムを整理する役割もあります。コードが長くなってくると、何をしているのか分かりにくくなりますが、処理ごとにメソッドに分けると、作った本人以外が読んでも理解しやすくなります。実際の現場でも読みやすいコードが求められるため、メソッドの考え方はとても大切です。
それでは、ごく簡単なJavaメソッドを見てみましょう。
public class HelloMethod {
public static void main(String[] args) {
sayHello();
}
public static void sayHello() {
System.out.println("こんにちは");
}
}
こんにちは
このサンプルでは、sayHelloというメソッドを作り、mainメソッドから呼び出しています。プログラムは一見むずかしそうに見えますが、実際にやっていることはとてもシンプルで、ただ「こんにちは」と表示しているだけです。Javaのメソッドはこうして使います。
2. Javaメソッドの基本構造
Javaのメソッドには決まった書き方があります。初心者の方が最初に覚えたいポイントは「戻り値」「メソッド名」「引数」の三つです。Javaのメソッドは次のような構造で書きます。
public 戻り値 メソッド名(引数) {
処理
}
戻り値とは、メソッドの結果として戻す値のことです。もし何も返さないときは、voidと書きます。メソッド名は好きに決められますが、Javaでは小文字ではじめる名前が使われることが多いです。引数はメソッドに渡すデータです。たとえば数字の計算をしたいなら、引数で数字を受け取ることができます。
では、足し算をおこなうメソッドを例にして見てみましょう。
public class CalcExample {
public static void main(String[] args) {
int result = add(5, 3);
System.out.println(result);
}
public static int add(int a, int b) {
return a + b;
}
}
8
この例では、addメソッドが二つの数字を受け取り、足し算の結果を戻しています。結果として、8が画面に表示されます。Javaでは、戻り値を返すこともできますし、何も返さずに画面へ文字を出すだけのメソッドも作れます。用途に合わせて使いわけができます。
Javaのメソッドを理解すると、プログラムを書くスピードも読みやすさも大きく変わります。何度も使う処理をメソッドにしておけば、無駄な書き直しがなくなり、トラブルも減ります。初心者の段階で慣れておくと、将来もっと複雑なプログラムに挑戦するときにも役立ちます。
また、Javaではメソッドを組み合わせて使うこともできます。ひとつのメソッドで計算し、もうひとつのメソッドで結果を表示するような形です。ひとつひとつを分けて整理することで、プログラムの見通しがぐっと良くなります。
3. 戻り値あり/戻り値なしのメソッドの違い
Javaのメソッドの書き方を深く理解するためには、戻り値ありのメソッドと、戻り値なしのメソッドの違いを知ることがとても大切です。戻り値なしのメソッドは、何かの処理をするだけで結果を返さないメソッドです。画面に文字を表示したり、数値を出力したりするときによく使われます。戻り値なしの場合はvoidと書きます。初心者はまず、このvoidで作られたメソッドに慣れておくと、Javaのメソッドの基本がつかみやすくなります。実際のコードでは、下のような書き方になります。
public static void showMessage() {
System.out.println("Javaのメソッドの使い方");
}
一方で戻り値ありのメソッドは、計算や判定をして、その結果を呼び出し元に返すメソッドです。足し算をして結果だけ返す、文字を結合して返す、といった場面でよく使います。戻り値ありのメソッドでは、返す値の型を指定して、最後にreturnで結果を返します。Javaでは、この書き方がとても重要で、間違えるとエラーになってしまうので注意が必要です。慣れないうちは、書き方を何度も確認しながら進めてみると良いです。
public static int addNumber(int a, int b) {
return a + b;
}
このように、戻り値なしと戻り値ありでは、書き方も使い方も変わります。戻り値なしは「ひとつの動作をするだけ」、戻り値ありは「計算や結果を返す」という違いがあります。Javaのメソッドを使うときは、どちらが必要なのかよく考えて書くことで、エラーが起きにくくなります。Javaの基本の書き方を理解すると、あとからコードを読むときも迷いにくくなります。戻り値の型は自由に決められますが、数値ならint、文字列ならStringのように、Javaの型と合わせて書きます。
4. 引数あり/引数なしのメソッドの書き方
Javaのメソッドには、引数ありのメソッドと引数なしのメソッドがあります。引数なしのメソッドは、特別なデータを受け取らずに、ただ決まった処理だけを実行します。引数なしのメソッドは書き方も簡単で、Java初心者でもすぐに使えます。pleiadesで作成したGradleのプロジェクトでも、同じようにメソッドを使えます。
public static void hello() {
System.out.println("こんにちは");
}
そして引数ありのメソッドは、呼び出した側から値を受け取って処理します。数値を受け取りたいときはint、文字列を受け取りたいときはStringと書くことで、Javaのメソッドがデータを扱えるようになります。引数を使うことで、ひとつのメソッドでいろいろな値に対応できるようになります。たとえば次のメソッドは、受け取った数字を二倍にして返すメソッドです。
public static int doubleValue(int number) {
return number * 2;
}
引数を複数受け取ることもでき、カンマで区切って書きます。値を受け取るメソッドは、同じ形でも受け取る値によって動きが変わるので、Javaのプログラムの幅が大きく広がります。引数の書き方を間違えると、エラーになってしまうことがあります。たとえば、メソッドを呼び出すときに引数を渡し忘れたり、型が違ったりすると、Javaは正しく動きません。初心者がよくつまずくポイントなので、Javaの書き方を丁寧に確認しておくと安心です。
5. メソッドを呼び出すときの注意点
Javaのメソッドを呼び出すときには、いくつかの注意点があります。まず、メソッド名を正しく書くことです。ひらがなやカタカナは使えず、ローマ字で書きます。大文字と小文字も区別されるため、ひとつでも違うとエラーになってしまいます。次に、引数が必要なメソッドは、呼び出し側で必ず値を渡します。値を渡し忘れると、コンパイルエラーになってしまいます。Javaは正しい書き方でないと実行できないため、細かい部分まで気をつける必要があります。
戻り値ありのメソッドを呼び出すときは、結果を受け取るための変数を用意することもあります。変数を用意することで、あとから別の処理に使えます。戻り値を扱うときは、型が一致しているかどうかも確認します。間違った型で受け取ろうとすると、Javaはエラーを出します。初心者のうちはエラーが出ても驚かず、表示された内容をゆっくり読んでみると良いです。メソッド名、大文字小文字、引数の数、型の違いなど、よくある原因を少しずつ覚えていくことで、落ち着いて対処できるようになります。
ここでは簡単な例として、メソッドを呼び出して計算し、その結果を使うコードを書いてみます。
public class SampleCall {
public static void main(String[] args) {
int result = multiply(3, 4);
System.out.println(result);
}
public static int multiply(int a, int b) {
return a * b;
}
}
12
このように、正しい書き方で呼び出せば、Javaのメソッドは確実に動いてくれます。pleiadesでGradleのプロジェクトを作り、依存関係をチェックしておけば、そのままコンパイルと実行ができるので、初心者でも安心して練習できます。エラーが出たときは、原因を落ち着いて探すことで理解が深まります。Javaのメソッドは書き方にルールがありますが、慣れてしまえばとても扱いやすい存在です。繰り返し練習することで、だんだん自然に書けるようになります。
さらに、複数のメソッドを組み合わせると、ひとつの処理を小さく分けて管理できるようになります。長いコードをそのまま書き続けると、初心者には読みづらいコードになってしまいますが、メソッド化して分けて書くことで、全体がとても読みやすくなります。メソッド名に意味を持たせることで、あとから見たときに「このメソッドは何をしているのか」がすぐに理解できるようになります。
6. メソッドのオーバーロード(同じ名前で複数のメソッド)
Javaのメソッドには、オーバーロードという便利な仕組みがあります。オーバーロードとは、同じ名前のメソッドでも、引数の数や型が違えば、別のメソッドとして扱えるというものです。つまり、メソッド名を変えなくても、処理したい内容に応じて使い分けができるということです。初心者は最初、同じ名前で書いて良いのか不安になりますが、Javaでは正しい書き方であれば問題ありません。むしろ、わかりやすいメソッド名をそのまま使えるため、コードが読みやすくなることが多いです。
オーバーロードの基本は「引数の違い」です。引数の数が違う、型が違う、このどちらかでもオーバーロードとして認められます。戻り値が違うだけではオーバーロードとして認められないので、その点には注意が必要です。もし戻り値だけ変えて同じ名前のメソッドを書いてしまうと、Javaはどのメソッドを呼んだら良いのか判断できず、コンパイルエラーが発生します。オーバーロードを書きたいときは、必ず引数の部分が違うように作ります。
たとえば、文字を表示するメソッドと、数字を表示するメソッドを同じ名前で作ることができます。Javaでは、このような書き方が自然にできます。
public static void printMessage(String text) {
System.out.println(text);
}
public static void printMessage(int number) {
System.out.println(number);
}
このように引数の型が違えば、Javaは問題なく判断できます。同じ名前のメソッドでも、渡された値に応じて自動で正しいメソッドが呼ばれます。pleiadesで作ったGradleプロジェクトでも同じように動きます。オーバーロードは、初心者が最初に戸惑う場面ですが、使えるようになると整理されたコードを書くことができるようになります。
また、引数の数が違ってもオーバーロードとして使えます。たとえば、足し算のメソッドをふたつ用意して、二つの数字を足すバージョンと、三つの数字を足すバージョンを作ることもできます。
public static int add(int a, int b) {
return a + b;
}
public static int add(int a, int b, int c) {
return a + b + c;
}
このように同じ名前でも使う場面によって処理を変えることができます。Javaの基本として覚えておくと、長いメソッド名を無理に増やさなくて済むため、読みやすいプログラムにつながります。特に、初心者のうちはメソッド名をどう付けるか悩みやすいので、オーバーロードは大きな助けになります。エラーが出るときは、引数が本当に違っているか、型が正しいかを確認すると良いです。
そして、オーバーロードはJavaの内部でもたくさん使われています。たとえば、文字列を表示するだけでも、メソッドが複数のバージョンとして用意されています。Javaの基本を覚えるときは、ただ暗記するのではなく、実際に書いて試すと理解が深まります。pleiadesでプロジェクトを作り、依存関係を追加したあと、サンプルコードを入力して実行してみると、オーバーロードがどのように動いているか実感できます。
7. よくあるメソッドのエラーと対処法
初心者がJavaのメソッドを書くと、思わぬエラーに出会うことがあります。メソッドは基本が多いため、書き方のわずかな間違いでもエラーが出てしまいます。しかし、焦る必要はありません。よくあるメソッドのエラーを知っておけば、落ち着いて原因を探すことができるようになります。
まず多いのが、メソッド名を間違えて呼び出してしまうエラーです。Javaは大文字と小文字を区別するため、ひとつ違うだけでも別の名前と判断されます。たとえば、メソッド名をhelloMessageと書いたのに、呼び出し側でHelloMessageと書いてしまうとエラーになります。初心者は、大文字と小文字の違いに慣れていないことが多いので、落ち着いて確認する癖をつけると良いです。
次に多いのは、引数の数が違うエラーです。引数を二つ受け取るメソッドに、一つしか渡していないと、Javaは正しく動きません。同じ名前のメソッドが複数あっても、引数の数や型が一致しなければ呼び出せません。呼び出し側のコードと、メソッドの宣言を見比べることで、ミスに気づきやすくなります。
また、戻り値の型が違うエラーもよくあります。戻り値ありのメソッドは、必ずreturnで値を返します。もし戻り値の型がintなのに、文字列を返そうとするとエラーになります。逆に、戻り値を返さないときはvoidを書く必要があります。書き忘れがあると、Javaが正しいメソッドとして判断できず、エラーになってしまいます。
もうひとつ初心者がつまずきやすいのが、中かっこを閉じ忘れるエラーです。メソッドの始まりと終わりは、必ず中かっこで囲まれています。閉じ忘れがあると、他のメソッドまで巻き込んでしまい、どこでエラーが出ているのか分かりづらくなります。コードを書いたら、中かっこが正しく対応しているか確認する習慣をつけると、トラブルを防げます。
ここでは、よくある間違いとして、引数の数を間違えた例を見てみます。このコードでは、引数を二つ受け取るメソッドに対して、一つしか渡していないため、エラーになります。
public static int sum(int a, int b) {
return a + b;
}
public static void main(String[] args) {
int result = sum(5); // エラー
}
このようなときは、Javaが教えてくれるエラーメッセージを落ち着いて読むと、原因がわかります。初心者は、エラーと聞くだけで不安になることがありますが、Javaのエラーメッセージはとても親切です。どこが違うのか、どうすれば良いのかが表示されるため、ひとつずつ読み取っていくことで、対処法が見つかります。
そして、pleiadesを使っていると、エラーの箇所に赤い表示が出てくれます。さらに、マウスを合わせるとヒントが出てくることもあります。初心者でも迷わず修正できるため、Javaの学習がとても進めやすくなります。Gradleで作成したプロジェクトでも同じように動くので、自信を持って練習できる環境が整っています。
Javaのメソッドは基本の仕組みですが、エラーの原因もはっきりしていることが多いです。呼び出し方、引数、型、戻り値、中かっこの対応など、いくつかのポイントを確認することで、すぐに問題を解決できます。トラブルに出会うことで理解が深まり、正しい書き方が身についていきます。ゆっくり確認しながら書くことで、確かな力が身につきます。