Java Constructor Nedir? Yapıcı Metotlar ve Nesne Oluşturma Rehberi

Java programlama dilinde constructor (yapıcı metot), bir sınıftan nesne oluşturulduğu anda otomatik çalışan özel yapılardır. Bu yazıda Java constructor nedir, parametreli/parametresiz constructor, constructor kuralları ve super() kullanımı gibi konuları örneklerle öğreneceksiniz.

Java Constructor Nedir?

Java’da new anahtar kelimesiyle bir nesne oluşturduğunuzda, sınıfa ait constructor otomatik olarak çalışır. Constructor’ın temel amacı, nesne oluşturulurken sınıf değişkenlerine başlangıç değerleri atamaktır.

Not: Eğer bir sınıfta hiç constructor tanımlanmazsa, Java derleyicisi otomatik olarak varsayılan (default) constructor ekler.

Java’da Constructor Kullanımı

Aşağıdaki örnekte A sınıfına ait parametresiz constructor tanımlanmıştır:

class A {
    A() {
        // Constructor body
    }
}

Constructor ile Metot Arasındaki Farklar

  • Constructor’ın geri dönüş tipi yoktur.
  • Constructor ismi sınıf adıyla birebir aynı olmalıdır.
  • Nesne oluşturulurken otomatik çalışır.
  • Normal metotlar gibi doğrudan çağrılamaz.

Parametreli ve Parametresiz Constructor

Constructor’lar parametreli veya parametresiz olabilir. Parametreli constructor örneği:

class A {
    int boy;
    String isim;

    A(String isim, int boy) {
        this.isim = isim;
        this.boy = boy;
    }
}

Bu sınıfta yalnızca parametreli constructor olduğu için aşağıdaki kullanım derlenmez:

A a = new A(); // Derleme hatası: Parametresiz constructor yok.

Doğru kullanım:

A a = new A("Ali", 180);

Constructor’ların Çalışma Sırası

Java’da kalıtım (inheritance) varsa constructor’lar zincir halinde çalışır ve çağrı sırası genellikle üst sınıftan alt sınıfa doğru tamamlanır.

class A extends Object {
    A() { }
}

class B extends A {
    B() { }
}
  1. B constructor’ı çağrılır.
  2. B, A constructor’ını çağırır (super()).
  3. A, Object constructor’ını çağırır.
  4. Değişkenlere varsayılan/açık değerler atanır.
  5. Constructor’lar sırasıyla tamamlanır.

Java Constructor Kuralları

  • Constructor ismi sınıf ismiyle aynı olmalıdır.
  • Geri dönüş tipi olmamalıdır.
  • Constructor ilk satırda super() veya this() ile başlar.
  • Constructor override edilemez, ancak overload edilebilir.
  • Bir sınıfta constructor yazılmazsa compiler default constructor ekler.
  • Interface’lerin constructor’ı yoktur.

Constructor Örnekleri: Yanlış ve Doğru Kullanım

Yanlış Kullanım

class AA {
    void AA() { } // Bu bir constructor değil, metottur!
}

Doğru Kullanım

class AA {
    AA() { } // Bu bir constructor’dır.
}

Default Constructor Ne Zaman Oluşur?

Constructor yazılmazsa compiler otomatik olarak parametresiz constructor ekler:

class AA { }

Ancak sınıfta herhangi bir constructor tanımlanırsa compiler yeni bir constructor eklemez:

class AA {
    AA(String ad) { }
}

super() Kullanımı

Üst sınıfın constructor’ı parametre alıyorsa, alt sınıfta super(parametre) şeklinde çağırmak zorunludur.

class AA {
    AA(String ad) { }
}

class BB extends AA {
    BB() {
        super("Ali"); // Doğru kullanım
    }
}

Daha Fazla Java İçeriği İçin

Java dersleri ve güncel yazılım içerikleri için bizi takip edin: latestsoftwaredevelopers.com

Beğendiysen bir çay ısmarlayabilirsin ☕

Beğendiysen bir çay ısmarlayabilirsin ☕

Bana çay ısmarla

Java ile ilgili yorumlar

Yorum Paylaş

EMail Zorunlu alanlar * *