Sobes.tech
Junior

C#'ta yöntem aşırı yüklemesi nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

C# dilinde Yöntem Aşırı Yükleme (Method Overloading), aynı isimde, ancak farklı imzalarla birden fazla yöntem tanımlamaya olanak tanır.

Yöntem İmzası şunları içerir:

  • Yöntem adı.
  • Parametre listesindeki parametre sayısı ve türleri.

İmzada yer almaz:

  • Dönüş tipi.
  • Parametre modifikasyonları (örneğin, ref, out).

Örnek:

// Aşırı yüklü yöntemlere sahip sınıf
public class Calculator
{
    // Aşırı yükleme 1: İki tamsayıyı toplama
    public int Add(int a, int b)
    {
        return a + b;
    }

    // Aşırı yükleme 2: İki ondalıklı sayıyı toplama (diğer parametre türleri)
    public double Add(double a, double b)
    {
        return a + b;
    }

    // Aşırı yükleme 3: Üç tamsayıyı toplama (başka parametre sayısı)
    public int Add(int a, int b, int c)
    {
        return a + b + c;
    }

    // Bu AŞAĞIDAKİ DEĞİLDİR: Sadece dönüş tipiyle farklılık gösterir
    /*
    public double Add(int a, int b)
    {
        return (double)(a + b);
    }
    */
}

Derleyici, çağrı sırasında iletilen argümanların türleri ve sayısına göre hangi yöntemin çağrılacağını belirler. Bu, statik bağlama (Static Binding) veya erken bağlama (Early Binding) olarak bilinir.

Yöntem aşırı yüklemenin avantajları:

  • Kodun okunabilirliğini ve kullanılabilirliğini artırır.
  • Benzer işlemleri, farklı veri türleri veya farklı giriş parametreleri setleriyle aynı isim altında sunar.