Polymorphism (Çok Şekillilik) Nedir?
Polimorfizm, bir nesnenin birden fazla form alabilme yeteneğidir, başka bir deyişle farklı bir nesne gibi davranabilmesidir. En yaygın kullanımı, üst sınıf (baseclass-superclass) nesnesinin referansının (object referer-pointer) alt sınıf (subclass) nesnesini işaret (refer-point) etmesidir. (Superclass reference is used to refer to subclass object)
Polimorfik Yapılar Oluşturmanın Koşulları Nelerdir?
Farklı nesneler (objects) arasındaki -dır,-dir ilişkileri (IS-A relationship) ve overriding altyapısı ile mümkün kılınır.
→ Java’da temel anlamda iki farklı tipte polymorphism söz konusudur.
- Runtime polymorphism (Dynamic polymorphism)
- Compile-time polymorphism (Static polymorphism)
→ Compile- time (Derleme zamanı) polymorphism, method overloading (metotların aşırı yüklenmesi) veya operator overloading ile sağlanır.
→ Runtime (Çalışma zamanı) polymorphism, üst sınıfın (base class) kalıtım ilişkisi (inheritance relationship) ve overriding konsepti sayesinde, onu inherit eden alt sınıf (subclass) nesnelerini işaret (point-refer) edebilmesi,onlar gibi davranabilmesidir.