概要
この記事は私のJavaの学習なメモです。
Javaの メソッド、引数、戻り値に関して学んだ内容をアウトプットします。
メソッド(関数)
メソッド(関数)とは
「幾つかの 処理をまとめて入れておくもの」 です。
自分の場合、「関数」 という呼び方のほうが馴染み深い気がしますが、** オブジェクト指向プログラミングで使う呼び方は「メソッド」らしいです。 **
め
たとえばゲームの開発をしているとして、「攻撃をする」という処理が記述されている メソッドがあったとします。
それを100ケ所で使う場合は、毎回同じコードを100回記述するのではなく、 メソッド を呼び出すだけで済みます。
「剣で攻撃をする」という処理を「魔法で攻撃をする」と修正する必要があったとしても
メソッド の処理を変えれば、100箇所に反映されます。
「一つの仕事は一つにまとめる」というのがプログラミングで大事な考え方で「DRY ( Don't Repeat Yourself )の原則」という言葉があります。
同じことを繰り返さないことによって、メンテナンスがしやすくなったり、開発そのものが簡単になります。
メソッドの書き方
単純なメソッドの書き方はこちらです。
アクセス修飾子 戻り値の型 メソッド名(引数の型 引数) {
}
- アクセス修飾子 (省略可能)
- 戻り値の型
- メソッド名
- 引数の型, 引数
の順に記述していきます。
これらをもとに、引数に ユーザーの名前 をつかって 文字を出力する という 「printName」というメソッドをつくったとしたらこういう感じになります。
public void printName(String name) {
System.out.println("私の名前は" + name);
}
1. アクセス修飾子 (省略可能)
こちらはアクセス修飾子の種類などについて以前書いた記事で触れているのでこちらを参照していただけると嬉しいです。
public, protected, 記述なし, private の順番で規制が厳しくなります。
2. 戻り値の型
「このメソッドを実行したら、なんの 型 の値を返すのか」というのをここで指定します。
3. メソッド名
ここに書くのは処理のタイトルのようなもので、これがメソッドです。
次回以降は「printName()」と記述するだけで記述した処理を行ってくれます。
4. 引数の型, 引数
この()←丸括弧の中にこのメソッドを実行する際に一緒に渡される値のことです。渡される値のことを 「引数」 といいます。
メソッドの型と順番があっていれば 変数名が違っていても問題なし
EnCountTrainer.javaの enCountTrainer メソッドでは、変数名が、enemyPokemonName , myPokemonName となっていますが、
Main.javaでは、enCountTrainer.enCountMsg(..., ..., enemyPokemon, myPokemon) となってます。
渡す変数と受け取る変数の名前が違っていますが、これは問題ありません。
printTriangleArea メソッドは int型 を 2つ 受け取れるメソッドなので、その順番の通りに、変数の中身(今回の場合 int型 )が受け渡されるため正常にメソッドは動きます。
とはいえ、呼び出し元と先であまりにも違いすぎるメソッド名は混乱しますので避けましょう。