Java、C#、C++などを含めて現代のほとんどの静的な型付けのプログラミング言語では、異なる型を取る複数のメソッドを同じクラス中に多重定義することができます。これはメソッドのオーバーロード(overload)*1として知られています。たとえば、以下のように同じtestという名前のメソッドを複数定義することができます。 public class Sample { void test(String strParam) { System.out.println("String = " + strParam); } void test(Integer intParam) { System.out.println("Integer = " + intParam); } } この場合、どちらのメソッドが呼び出されるかは、呼び出し側がパラメーターで渡した変数のコンパイル時の型で静的に決まります。ですか