Anahtar Farkı – Java'da Aşırı Yükleme ve Geçersiz Kılma
Nesneye Yönelik Programlama (OOP), yazılım geliştirmede önemli bir paradigmadır. Sınıfları ve nesneleri kullanarak bir program tasarlamak için bir metodolojidir. Bir sınıf bir plandır. Nesnede ne içermesi gerektiğini açıklar. Nesnenin içermesi gereken özellikleri veya nitelikleri ve yöntemleri tanımlar. Bu nedenle, bir nesne bir sınıfın bir örneğidir. Bu nesneler diğer nesnelerle iletişim kurar. OOP'nin ana kavramlarından biri Polimorfizmdir. Bir nesnenin birden çok şekilde davranma yeteneğidir. Polimorfizm, aşırı yükleme ve geçersiz kılma olarak iki bölüme ayrılır. Bu makale, Java'da bu ikisi arasındaki farkı tartışmaktadır. Java'da aşırı yükleme ve geçersiz kılma arasındaki temel fark, Aşırı Yüklemenin, farklı uygulamalarla aynı ada sahip birden çok yöntem oluşturma yeteneği olması ve Geçersiz Kılma, üst sınıfta zaten var olan bir alt sınıf yöntemi için bir uygulama sağlamaktır.
Java'da Aşırı Yükleme Nedir?
Aşırı yükleme, farklı uygulamalarla aynı ada sahip birden çok yöntem oluşturma yeteneğidir. Aşağıdaki Java koduna bakın.
Şekil 01: Farklı sayıda argümanla Aşırı Yüklemeyi açıklayan Java programı
Yukarıdaki programa göre A sınıfı aynı ada sahip iki metot içerir. İlk toplam yönteminin iki parametresi vardır. İkinci toplam yönteminin üç parametresi vardır. A türünde bir nesne oluştururken ve sum(2, 3) çağrılırken, sum(int a, int b) olmak üzere iki parametreyle toplam yöntemini çağırır ve 5 değerini döndürür. A türünden bir nesne oluştururken ve sum(2) çağrılırken, 3, 4), sum(int a, int b, int c) olan üç parametreli diğer toplam yöntemini çağırır ve 9'u döndürür.
Yöntem adı aynı ancak parametre sayısı farklı. Aynı nesnenin farklı davrandığı gözlemlenebilir. Bu kavram aşırı yükleme olarak bilinir. Ayrıca Statik Bağlama veya Derleme Zaman Polimorfizmi olarak da adlandırılır.
Farklı veri türleri ile aşırı yüklenebilir. Aşağıdaki Java koduna bakın.
Şekil 02: Farklı sayıda argümanla Aşırı Yüklemeyi açıklayan Java programı
Yukarıdaki programa göre A sınıfı aynı ada sahip iki metottan oluşur. sum(int a, int b) yöntemi iki tamsayı değeri alır. Toplam(double a double b) iki double değer alır. A türünden bir nesne oluştururken ve sum(2, 3) öğesini çağırırken, sum(int a, int b) öğesini çağırır ve 5 değerini döndürür. sum(3.4, 5.6) öğesini çağırırken sum(double a double) öğesini çağırır. b) ve 9.0 değerini döndürün. Bu örnekte, yöntemler aynı ada ancak farklı türde değişkenlere sahiptir. Bu da aşırı yükleniyor.
Java'da Geçersiz Kılan Nedir?
Java'da, zaten var olan sınıflarla alt sınıflar oluşturmak mümkündür. Yeni sınıfı baştan oluşturmak yerine, mevcut sınıfın özelliklerini ve yöntemlerini kullanmak mümkündür. Mevcut sınıf üst sınıftır ve türetilmiş sınıf alt sınıftır. Alt sınıf, zaten üst sınıfta bulunan bir yöntem için bir uygulama sağladığında, geçersiz kılma olarak bilinir. Aşağıdaki Java programına bakın.
Şekil 03: geçersiz kılmak için Java programı
Yukarıdaki programa göre, A Sınıfı bir metod display() kullanıyor. B Sınıfı, A sınıfından genişliyor, bu nedenle A sınıfının özelliklerine ve yöntemlerine B sınıfı tarafından erişilebilir. B Sınıfı, belirli bir uygulamaya sahip olan display() yöntemine sahiptir. A türünde bir nesne oluştururken ve görüntüleme yöntemini çağırırken, B çıktısını verir. A sınıfının bir görüntüleme yöntemi olmasına rağmen, B sınıfı görüntüleme yöntemi geçersiz kılınır. Alt sınıf, üst sınıfta zaten var olan bir yöntemi uyguluyor.
Bu kavram bir tür polimorfizmdir ve geçersiz kılma olarak bilinir. Geç Bağlama, Dinamik Bağlama, Çalışma Zamanı Polimorfizmi olarak da adlandırılır.
Java'da Aşırı Yükleme ve Geçersiz Kılma Arasındaki Benzerlikler Nelerdir?
- Her ikisi de Polimorfizm türleridir.
- Aşırı yükleme ve geçersiz kılmada yöntemler aynı ada sahiptir.
Java'da Aşırı Yükleme ile Geçersiz Kılma Arasındaki Fark Nedir?
Java'da Aşırı Yükleme ve Geçersiz Kılma |
|
Java'da aşırı yükleme, farklı uygulamalarla aynı ada sahip birden çok yöntem oluşturma yeteneğidir. | Java'da geçersiz kılma, üst sınıfta zaten var olan bir yöntem için alt sınıf yönteminde belirli bir uygulama sağlıyor. |
Parametreler | |
Aşırı yüklemede, yöntemler aynı ada ancak farklı sayıda parametreye veya farklı türde parametrelere sahiptir. | Geçersiz kılmada, yöntemler aynı ada sahiptir ve parametreler aynı olmalıdır. |
Temalar | |
Sınıf içinde aşırı yükleme oluyor. | Geçersiz kılma, kalıtım ilişkisine sahip iki sınıf içinde gerçekleşir. |
Eşanlamlılar | |
Aşırı yükleme, derlenmiş zaman polimorfizmi olarak adlandırılır. | Geçersiz kılma, çalışma zamanı polimorfizmi olarak adlandırılır. |
Özet – Java'da Aşırı Yükleme ve Geçersiz Kılma
Polimorfizm, Nesne Yönelimli Programlamada önemli bir kavramdır. Bir nesnenin birden çok şekilde davranmasını sağlar. Bu, aşırı yükleme veya geçersiz kılma olabilir. Aşırı yükleme, derleme zamanı polimorfizmidir ve geçersiz kılma, çalışma zamanı polimorfizmidir. Yazılım uygulaması geliştirmede faydalıdırlar. Geçersiz kılma ve aşırı yükleme arasındaki fark, Aşırı Yüklemenin, farklı uygulamalarla aynı ada sahip birden çok yöntem oluşturma yeteneği olması ve Geçersiz Kılmanın, üst sınıfta zaten var olan bir yöntem için alt sınıf yönteminde belirli bir uygulama sağlamasıdır. Java'da hem aşırı yükleme hem de geçersiz kılma uygulamak mümkündür.
Java'da PDF Aşırı Yükleme ve Geçersiz Kılma karşılaştırmasını indirin
Bu makalenin PDF sürümünü indirebilir ve alıntı notuna göre çevrimdışı amaçlarla kullanabilirsiniz. Lütfen PDF sürümünü buradan indirin Java'da Aşırı Yükleme ve Geçersiz Kılma Arasındaki Fark