به امکان تعریف چندین متود با نام یکسان اما متفاوت درامضا( نوع و تعداد پارامترها )در یک کلاس گفته می شود .در واقع امکان داشتن ورژنهای مختلفی از یک متود درون یک کلاس.موارد زیر در Method overloading مطرح می باشند:
  • برای overload کردن یک متود باید متودهایی با signature های متمایز از یکدیگر ایجاد کنیم.signature هر متود شامل نوع , ترتیب و تعداد پارامترها می باشد.
  • return type یا مقدار برگشتی هر متود شامل signature متود نمی شود ,در #c مجاز نیستیم 2متود با signature یکسان امابا مقادیر برگشتی متفاوت داشته باشیم.
مثال :
کد:
  public class MyMathClass
{
public int AddNum(int x)
{
return x + x;
}
public int AddNum(int x, int y)
{
return x + y;
}
public float AddNum(float x)
{
return x + x;
}

منبع : http://barnamenevis.org/  (نويسنده : az_farzaneh)