Java OOP Rehberi: Polymorphism

  • Merhaba Jetto Net takipçileri!

    Java Nesne Yönelimli Programlama (OOP) serimize hoş geldiniz. Bir önceki yazımızda, bir sınıfın başka bir sınıftan özelliklerini ve davranışlarını miras almasını yani kalıtımı (inheritance) incelemiştik. Bu yazımızda ise OOP'nin en esnek ve dinamik özelliklerinden biri olan "çok biçimliliği" (polymorphism) keşfedeceğiz. Polymorphism, nesnelerin farklı durumlarda farklı davranışlar sergilemesine olanak tanıyarak kodumuzu daha esnek, genişletilebilir ve anlaşılır hale getirir.

    Polymorphism Nedir?

    Çok biçimlilik olarak bilinir. Teknik olarak; bir üst sınıf referansının tüm alt sınıf nesnelerini tutabilmesidir. Bilindiği gibi, alt sınıftaki nesneler üst sınıfın sahip olduğu metotlara(static ve final tanımlı metotlar hariç) da sahiptirler (Örneğin, oluşturduğunuz bir nesne üzerinde Object sınıfına ait metotları görmeniz mümkündür). Bu özellik ile birlikte Polymorphism, bir üst sınıf referansı ile alt sınıftaki nesnelerin kullanılabilmesine olanak sağlar. Buradaki avantaj, bir işlemi gerçekleştirirken hangi sınıfa ait nesne ile işlem gerçekleştirdiğimizi bilmemize gerek kalmamasıdır.

    Polymorphism Türleri

    Java'da iki tür Polymorphism vardır:

    1. Compile-Time Polymorphism: Bu tür çok biçimlilik, metotların aşırı yüklenmesi (method overloading) ile sağlanır. Aynı isimde ancak farklı parametre listelerine sahip birden fazla metot tanımlayarak, derleyici hangi metodun çağrılacağını belirler.
    2. Runtime Polymorphism: Bu tür çok biçimlilik, metotların geçersiz kılınması (method overriding bkz.) ile sağlanır. Üst sınıftaki bir metot, alt sınıfta farklı bir şekilde yeniden tanımlanır. Hangi metodun çağrılacağı, çalışma zamanında nesnenin gerçek türüne göre belirlenir.

    Çok Biçimliliğin Faydaları

    • Esneklik: Kodumuzun farklı nesnelerle çalışabilmesini sağlar.
    • Genişletilebilirlik: Yeni sınıflar ekleyerek mevcut kodumuzu kolayca genişletebiliriz.
    • Kodun Okunabilirliği: Kodumuzun daha anlaşılır ve düzenli olmasını sağlar.

    Sonuç

    Çok biçimlilik, Java'da nesne yönelimli programlamanın en güçlü özelliklerinden biridir. Çok biçimliliği kullanarak daha esnek, genişletilebilir ve okunabilir kodlar yazabiliriz. Bir sonraki yazımızda, OOP'nin diğer önemli kavramlarını incelemeye devam edeceğiz. Takipte kalın!

    Yorumlar kısmında sorularınızı veya görüşlerinizi yazabilirsiniz. İyi kodlamalar!

Şimdi katılın!

Henüz hesabınız yok mu? Topluluğumuzun aktif bir üyesi olun ve oyunlarla, yazılımlarla ilgili ilginç konuları keşfedin! Kaydolun ve tartışmalara katılın, deneyimlerinizi paylaşın ve yeni arkadaşlar edinin. Topluluğumuzda herkesin kendine göre bir yer bulabileceğinden eminiz. Hadi, gelin ve bizimle birlikte eğlenceli ve bilgilendirici bir yolculuğa çıkın!