Java メンバ関数の多重定義(オーバーロード)

通常、同じ名前のメンバ関数を作る事はできませんが、
引数の数引数の型が違っていれば可能となります。

戻り値では区別できません。

public class Cmain {
      public static void main(String[] args) {
            int ians = 0;
            double dans = 0;
            Ctest obj = new Ctest();

            ians = obj.tasizan(20, 5);      // int型の方の関数呼び出し

            dans = obj.tasizan(2.5, 7.5);   // double型の方の関数呼び出し
      }
}

class Ctest {

      public int tasizan(int a, int b) {
            return a + b;
      }

      public double tasizan(double a, double b) {
            return a + b;
      }
}

このプログラムでは、同じ名前のメンバ関数tasizanが存在しますが、
引数の型が異なるため、エラーとはならず、正常に動作します。

引数に整数を使うと引数にint型を使う関数が呼ばれ、
引数に小数を使うと引数にdouble型を使う関数が呼ばれます。