Sobes.tech
Junior

İki yöntemi ayırt eden nedir ki onları aşırı yüklenmiş olarak kabul edebilelim?

sobes.tech yapay zeka

AI'dan gelen yanıt

İki metodun aşırı yüklenmiş sayılabilmesi için aşağıdaki koşulları sağlaması gerekir:

  • Aynı metod adı. Metodların adı aynı olmalıdır.
  • Farklı metod imzası. Metod imzası, metodun adı ve parametre türleri listesini içerir (sayıları, sıraları ve türleri). Metodun dönüş tipi imzanın bir parçası değildir ve aşırı yüklemeyi etkilemez.

Örnekler:

class Example {
    void print(int num) { // İmza: print(int)
        System.out.println(num);
    }

    void print(String text) { // İmza: print(String)
        System.out.println(text);
    }

    void print(int num, String text) { // İmza: print(int, String)
        System.out.println(num + " " + text);
    }

    // Bu aşırı yükleme değildir, çünkü print(int) imzası tekrar eder
    // int print(int num) {
    //     return num;
    // }
}

Aşırı yükleme örneklerini gösteren tablo:

Metod Adı Parametre Türleri Aynı / Farklı metodlar Aşırı yükleme mi? Sebep
calc (int, int) Farklı Evet Farklı imza (sayı ve türler)
calc (double, double) Farklı Evet Farklı imza (türler)
calc (int, int, int) Farklı Evet Farklı imza (sayı)
calc () Farklı Evet Farklı imza (sayı)
calc (int, int) Aynı Hayır Aynı imza
calculate (int, int) Farklı Hayır Farklı metod adı