Javada Kalıtım (Inheritance) Kavramı ve super Anahtar Kelimesi
Java’da kalıtım (inheritance) nedir, nasıl kullanılır? Sınıflar arası miras alma yapısını ve super anahtar kelimesini bu yazıda öğrenin.
Java’da Kalıtım (Inheritance) Kavramı ve super Anahtar Kelimesi
Java programlama dilinde kalıtım (inheritance), bir sınıfın başka bir sınıfın özelliklerini ve metotlarını devralmasını sağlayan mekanizmadır. Bu yapı sayesinde kod tekrarı azaltılır, sınıflar arası ilişki kurulabilir. Kalıtım işlemi extends anahtar kelimesi ile yapılır.
1. Kalıtım (Inheritance) Nedir?
Bir sınıf başka bir sınıftan miras aldığında, alt sınıf (child) üst sınıfın (parent) tüm açık (public/protected) özellik ve metotlarına erişebilir.
public class Hayvan {
void sesCikar() {
System.out.println("Hayvan ses çıkarıyor");
}
}
public class Kedi extends Hayvan {
void miyavla() {
System.out.println("Kedi miyavlıyor");
}
}
public class Main {
public static void main(String[] args) {
Kedi kedi = new Kedi();
kedi.sesCikar(); // Üst sınıftan miras alınan metot
kedi.miyavla(); // Alt sınıfa ait metot
}
}
2. super Anahtar Kelimesi
super anahtar kelimesi, alt sınıftan üst sınıfa erişmek için kullanılır. Üst sınıfın constructor'ını veya metotlarını çağırmak amacıyla kullanılır.
super ile Constructor Çağırma:
public class Hayvan {
public Hayvan(String ad) {
System.out.println("Hayvan adı: " + ad);
}
}
public class Kopek extends Hayvan {
public Kopek() {
super("Karabas"); // Üst sınıf constructor'ını çağırır
}
}
super ile Metot Çağırma:
public class Hayvan {
void hareketEt() {
System.out.println("Hayvan hareket ediyor");
}
}
public class Timsah extends Hayvan {
void hareketEt() {
super.hareketEt(); // Üst sınıfın hareketEt metodunu çağırır
System.out.println("Timsah yüzüyor");
}
}
3. Neden Kalıtım Kullanılır?
- Kod tekrarını önler
- Sınıflar arasında yapı kurulmasını sağlar
- Polimorfizm ve soyutlama gibi OOP ilkelerinin temelini oluşturur
- Genişletilebilir (extendable) bir mimari sunar
Java kalıtım yapısı, birden fazla sınıf arasında mantıklı bir bağ kurarak kodun daha anlamlı, okunabilir ve yeniden kullanılabilir olmasını sağlar. super anahtar kelimesi ise miras alınan yapıya doğrudan erişim sağlamak için kullanılır. Nesne yönelimli programlamayı etkin bir şekilde kullanmak isteyen herkesin kalıtım kavramını iyi kavraması gerekir.