クラスを使っていると、メソッド名が同じにもかかわらず、引数の数や引数の型が異なるメソッドがあります。これをメソッドのオーバーロードと言います。
例)
MessageBox.Show("hello world!"); MessageBox.Show("hello world!", "HelloDialog");
メソッドのオーバーロードは簡単です。また、引数の数が同じで、引数の型が異なるメソッドをオーバーロードすることもできます。
オーバーロード機能があることで、クラスを使う側も作る側も楽ができます。
using System; namespace Sample { class Program { static void Main(string[] args){ DateUtility du = new DateUtility (); // IsEndOfMonth(DateTime date)を呼び出す DateTime date = new DateTime(2011, 5, 30); bool eom1 = du.IsEndOfMonth (date); Console.WriteLine (eom1 == true ? "月末です" : "月末ではありません"); // IsEndOfMonth(int year, int month, int day)を呼び出す bool eom2 = du.IsEndOfMonth(2011,2,28); Console.WriteLine (eom2 == true ? "月末です" : "月末ではありません"); Console.ReadLine (); } } class DateUtility { public bool IsEndOfMonth(DateTime date){ Console.WriteLine ("Call IsEndOfMonth(DateTime date)"); return date.AddDays(1).Day == 1; } public bool IsEndOfMonth(int year, int month, int day){ Console.WriteLine ("Call IsEndOfMonth(int year, int month, int day)"); DateTime date = new DateTime (year, month, day); return IsEndOfMonth (date); } } }