Overloading in Java

Java dilinde Aşırı Yükleme(Overloading), aynı ada sahip bir işlevin birden çok tanımına sahip olmayı ifade eder. Bu tanımlar bağımsız değişken sayısı, bağımsız değişken türü veya bağımsız değişken sırası açısından farklılık gösterebilir. Aşırı yükleme, aynı ada sahip birden fazla işlevin bir sınıf içinde tanımlanmasına izin verir. Bu, aynı işlevin farklı işlemleri gerçekleştirmesine izin verir ve kod tekrarını azaltır. Aşırı yükleme, Java’daki polimorfizm kavramının bir parçasıdır. Polimorfizm, bir sınıfın farklı nesne türlerini temsil etmesine izin verir. Aşırı yükleme, bir sınıfın farklı işlemleri gerçekleştirmek için aynı ada sahip birden çok işleve sahip olmasına izin verir. Aşırı yükleme, Java’da iki farklı şekilde yapılabilir:

1.Farklı sayıda bağımsız değişkenle işlev tanımlama: Aynı ada sahip işlevler birden çok bağımsız değişken alabilir ve bu bağımsız değişkenler farklı sayılara sahip olabilir. Java, bu işlevler arasında ayrım yapmak için bağımsız değişken sayısını kullanır.

2.Farklı bağımsız değişken türleri ile işlev tanımlama: Aynı ada sahip işlevler birden çok bağımsız değişken alabilir ve bu bağımsız değişkenlerin farklı türleri olabilir. Java, bu işlevler arasında ayrım yapmak için bağımsız değişken türlerini kullanır.

 

Aşırı yükleme, Java’da bir sınıf içinde birden çok işlevin tanımlanmasına izin verir. Ancak aynı isme sahip fonksiyonlar arasında net bir fark olmalıdır. Aksi takdirde Java hata verecektir.

 

Örneğin bir sınıfta aynı isimli iki fonksiyon tanımlayabiliriz. İlki, iki tamsayı argümanını alır ve bu argümanların toplamını hesaplar. İkincisi, tek bir tamsayı argümanını alır ve bu argümanın karesini hesaplar. Java, bağımsız değişken sayısına bağlı olarak bu işlevler arasında ayrım yapar.

 

İşlevlerin dönüş türünün aşırı yüklemede bir rol oynamadığına dikkat etmek önemlidir. Bu, aynı ada ve farklı dönüş türlerine sahip iki işlevin bir hatayla sonuçlanacağı anlamına gelir.

 

Argüman sayısına ve argüman türüne ek olarak, aşırı yükleme argüman sırasına da bağlı olabilir. Bu, aynı işlevin aynı bağımsız değişken türleri ile ancak farklı bir sırada birden çok kez tanımlanabileceği anlamına gelir. Java, bu işlevler arasında ayrım yapmak için bağımsız değişken sırasını kullanır.

 

Aşırı yükleme, değişken sayıda bağımsız değişkenin bir işleve iletilmesine izin veren varargs ile de yapılabilir. Bu durumda, Java aşırı yükleme için en özel eşleşmeyi kullandığından, varargs’lı işlev son seçenek olarak tanımlanmalıdır.

 

Java, aşırı yüklenmiş bir işlevi çağırırken, iletilen bağımsız değişkenlere göre çağrılacak doğru işlevi belirler. Açık bir eşleşme yoksa, bir hata verilir.

 

Sonuç olarak, Java’da aşırı yükleme, aynı ada sahip birden çok işlevin bir sınıf içinde tanımlanmasına izin verir. Bu, aynı işlevin farklı işlemleri gerçekleştirmesine izin verir ve kod tekrarını azaltır. Aşırı yükleme, bağımsız değişken sayısındaki, bağımsız değişken türlerindeki ve bağımsız değişken sırasındaki farklılıklara bağlıdır. Java, aşırı yüklenmiş bir işlevi çağırırken, iletilen bağımsız değişkenlere dayalı olarak çağrılacak doğru işlevi belirler. Aşırı yüklemeyi anlamak ve kullanmak, kodunuzun verimliliğini ve okunabilirliğini büyük ölçüde artırabilir.

İbrahim Ebrar AKÇAKOYUN