この記事の内容
この記事ではJavaのメソッドの定義の基礎を説明していきます!
- メソッドの定義の仕方
- 戻り値について
- 引数について
- メソッドの呼び出しについて
- 戻り値、引数の有無ごとのメソッドの定義の仕方について
- まとめ
メソッドの定義の仕方
まずはJavaのメソッドの定義の仕方について整理していきます。
アクセス修飾子 戻り値の型 メソッド名(引数1, 引数2,・・・) {
処理;
return 戻り値;
}
上記がメソッドの定義の仕方になります。
メソッドの定義はアクセス修飾子、戻り値の型、メソッド名、引数の4つの要素からなっています。
アクセス修飾子はpublic、private、protectedのいずれかを指定します。省略することもできます。アクセス修飾子の詳しい解説は今回は省略します。
メソッド名はプログラマーが自由に名前を付けることができる識別子と呼ばれるものです。自由に名前を付けることができるため、メソッドの機能に合った名前を付けてください。
戻り値の型と引数については順番に解説していこうと思います。
戻り値について
まず、戻り値とは何かについて説明していきます。
戻り値とはメソッドの処理の結果として返す値のことです。処理の最後にreturn文を記載し、その後に戻り値を記載します。戻り値は具体的な値でも変数でもメソッドで定義された型と合っていれば問題ないです。
Javaのメソッドでは処理が終わった際の結果として何かしらの値を返す場合は、あらかじめ戻り値の型を指定してあげる必要があります。
型というのは変数と同じで、intやbooleanといった基本型からStringやその他の参照型を指定することができます。
例えばチョコレート工場があったとしましょう。
工場そのものがメソッドという位置付けになります。
工場ではカカオや砂糖といった原材料を加工してチョコレートを生産しています。そして生産されたチョコレートを出荷しています。この出荷されたチョコレートが戻り値ということになります。
つまり、チョコレート工場のメソッドの定義をする際にはチョコレート型を定義してあげる必要があり、ポテトチップスといった他のお菓子の型を定義することはできません。

これをJavaに置き換えて考えてみましょう。
ここでは足し算を行うメソッドを例に説明をしていきます。

上記の例では2つのint型の値を足して、足した結果をint型で返す処理をしています。
よって、戻り値の型はint型で定義してあげます。
もし、足した結果をdouble型で返してあげたい場合は戻り値の型をdoubleで定義してあげる必要があります。

このように戻り値の型はメソッドがどのような値を返したいのかによって、それに合わせた型を記載します。
戻り値がない場合
ただ、必ずしも戻り値があるとは限りません。その場合はvoidと戻り値の型を記載する場所に記載します。
voidとは何もないことを意味する単語です。
引数について
では次に引数について説明をしていきます。
引数とはメソッドを呼び出すために渡す値のことです。
先ほどのチョコレート工場を例にするとチョコレートを生産するために必要な材料が引数にあたります。

引数はメソッドを定義する際の()内に記載します。
書き方としては変数を定義するのと同じように定義します。こちらも戻り値と同じように基本型や参照型を定義することができます。

上記の図では先ほどに続き、足し算のメソッドですが、2つの値の足し算を行うためにはそもそも2つの値が必要です。
そこで、2つの値を引数としてメソッドに渡してあげることで、メソッド内の処理で足し算を行うことができます。
メソッドの呼び出しについて
定義したメソッドの呼び出しは以下の通りになります。
メソッド名(引数1, 引数2,・・・);
基本はメソッド名();という形になります。もし、引数がある場合は()内にメソッドの定義で指定した引数の型に合うように値を入れていきます。
戻り値、引数の有無ごとのメソッドの定義の仕方について
では戻り値、引数の有無ごとのメソッドの定義を以下の4種類に分けて整理したいと思います。
- 戻り値なし、引数なし
- 戻り値なし、引数あり
- 戻り値あり、引数なし
- 戻り値なし、引数あり
戻り値なし、引数なし
・定義の仕方
アクセス修飾子 void メソッド名() {
処理;
}
戻り値なしということはメソッドの処理が終わった際に何か返したい値があるわけではないため、voidを使います。
また、引数がない場合は()のみの記載になります。また、基本的にはreturnの記載を行いません。
・呼び出し方
メソッド名();
メソッドを呼び出す際はメソッド名に()を付けて呼び出します。
引数はないので、()内に何か値を渡す必要はありません。
戻り値なし、引数あり
・定義の仕方
アクセス修飾子 void メソッド名(引数1, 引数2,・・・) {
処理;
}
戻り値なしということはメソッドの処理が終わった際に何か返したい値があるわけではないため、voidを使います。
引数は渡したい値の数だけ()内に定義します。
・呼び出し方
メソッド名(引数1, 引数2,・・・);
メソッド名を呼び出す際はメソッド名と()内に引数を渡してあげます。
この時、引数はメソッドの定義をした際と同じ型の値を定義した順番で渡してあげる必要があります。
戻り値あり、引数なし
・定義の仕方
アクセス修飾子 戻り値の型 メソッド名() {
処理;
return 戻り値;
}
戻り値がある場合は戻り値の型を指定します。
そして、処理の中にはreturn文を入れ、戻り値を記載します。この時の戻り値の値はメソッドで定義した戻り値の型と一致している必要があります。
引数がない場合は()のみの記載になります。
・呼び出し方
メソッド名();
メソッドを呼び出す際はメソッド名に()を付けて呼び出します。
引数はないので、()内に何か値を渡す必要はありません。
戻り値あり、引数あり
・定義の仕方
アクセス修飾子 戻り値の型 メソッド名(引数1, 引数2,・・・) {
処理;
return 戻り値;
}
戻り値がある場合は戻り値の型を指定します。
そして、処理の中にはreturn文を入れ、戻り値を記載します。この時の戻り値の値はメソッドで定義した戻り値の型と一致している必要があります。
引数は渡したい値の数だけ()内に定義します。
・呼び出し方
メソッド名(引数1, 引数2,・・・);
メソッド名を呼び出す際はメソッド名と()内に引数を渡してあげます。
この時、引数はメソッドの定義をした際と同じ型の値を定義した順番で渡してあげる必要があります。
まとめ
最後まで読んでいただきありがとうございます!
メソッドの定義はパターンをしっかり分けて把握すれば難しいものではありませんので、難しく捉えず学習していただければと思います。