おぼえがき_オーバーロード

引数が違っていれば、同じクラスの中に同じ名前のメソッドを定義できる。
引数が違うものにして、同じクラスの中に同じメソッドを作ること
 →オーバーロード

class Test{
 int sum(int i,int j){
  return i+j;
 }
 int sum(int i,double d){
  return (int)(i+d);//double型をint型に
 }
}
public class sample19{
 public static void main(String[] args){
  Test test = new Test();
  System.out.println(test.sum(1,2));//一つ目のsumメソッドを実行
  System.out.println(test.sum(2,2.5));//二つ目のsumメソッドを実行
 }
}

実行結果
3
4.5

引数の型を同じにして、戻り値の型を異なるものにしてみた

class Test{
 double sum(int i,double d){
  return i+d;
 }
 int sum(int i,double d){
  return (int)(i+d);
 }
}

コンパイル結果

sample19.java:5: sum(int,double) は Test で定義されています。
    int sum(int i,double d){
      ^
エラー 1 個

引数が同じ場合、戻り値だけ違う型に設定してもダメ