オーバーロード〜複数個同じ名前のメソッドを作りたいとき〜
原則としてメソッドに同じ名前をつけることは出来ない
→ただ複数個同じメソッドを作りたい時は、同じ名前にしてる方が分かりやすい
オーバーロードという概念を使う
オーバーロードとは?
引数の型の種類を分けることで、同じ名前のメソッドでもパソコンに違うメソッドだと区別させることが出来る
例 〈呼び出される側〉
int add(int x,int y) とdouble add(double x,double y)は、
同じメソッド名 addだが、
値を受け取る引数の型が違うので、違うメソッドと認識される
〈呼び出す側〉
mainメソッドで呼び出す
main{
System.out.println(add(10,20));
System.out.println(add(3.5,2.7));
}
値を渡す引数の型と対応した受け取る側のメソッドに値が代入され、実行される
・ この他、引数の個数の違いでも区別出来る
(これなら、同じ種類の型のメソッドでも可)
→要は、パソコン側にそれぞれ同じ名前のメソッドでも違いがあることを何らかの形で提示できればOK!
例 〈呼び出される側〉
int add(int x,int y){
return x+y;
}
int add(int x,int y,int z){
return x+y+z;
}
〈呼び出す側〉
main{
System.out.println("引数が2つのメソッドを呼び出します"+add(10,20));
System.out.println("引数が3つのメソッドを呼び出します"+add(10,20,30));
}