Java’da Yapıcı Metodlar (Constructors)

Constructor yapısını OOP konseptleri içinde oldukça fazla göreceksiniz. Java constructors, ya da Türkçe olarak yapıcılar, bir class’ın nesnelerini oluşturmak için kullandığımız özel metotlardır. Bir sınıftan bir nesne oluşturmak için “new” anahtar kelimesini kullanıyorken, bu nesnenin nasıl başlatılacağı ve oluşturulacağı işlemlerini constructor’la belirliyoruz.

Java’da bir class tanımlandığında, o class’ın varsayılan bir constructor’ı otomatik olarak oluşturuluyor. Yani Java, constructor metodu otomatik olarak tanımlıyor. Ancak, eğer class’ımızın özel bir başlatma durumu veya parametreleri varsa, kullanıcı tanımlı bir constructor belirleyerek bu işlemi özelleştirebiliyoruz.

Java’da constructor’ların temel özellikleri şunlardır:

 İsim aynıdır :  Constructor’lar, class’ın ismiyle aynı olmalıdır. Bu sayede Java, nesne oluşturulurken hangi constructor’ın çağrılacağını belirler.

 Dönüş değeri yoktur:  Constructor’lar bir dönüş değeri taşımaz. Yani “void” ya da başka bir türle dönüş belirtilmez.

 Parametre alabilir:  Constructor, parametre alabilir veya parametresiz olabilir. Parametreler, nesnenin oluşturulmasında kullanılacak başlatma değerlerini sağlamak için kullanılabilir.

 Aşırı yüklemeye (overloading) izin verir:  Bir class, birden fazla constructor tanımlayarak overloading yapabilir. Bu, farklı parametre kombinasyonlarıyla nesnelerin farklı şekillerde başlatılmasını sağlar.

Constructor’ların temel özelliklerini bu şekilde sıralayabiliriz. Şimdi bir constructor nasıl oluşturulur sorusunun cevabını bulalım.

Constructor Nasıl Tanımlanır?

Yukarıda yer alan Car adlı class’ın iki farklı constructor’ı bulunmaktadır: parametresiz constructor ve parametreli constructor.

Parametresiz constructor’a, nesneyi oluşturduğumuzda herhangi bir parametre vermediğimizden varsayılan değerlerle nesneyi başlatıyor.

Parametreli constructor ise, nesneyi oluştururken belirtilen parametrelerle nesneyi başlatır. Burada this anahtar kelimesinin dikkatinizi çekmiş olmasını umuyorum. this kelimesinin ne işe yaradığından kısaca bahsedelim.

 this :  Java ve diğer birçok programlama dilinde class üyeleri içinde kullanılan bir referansdır. Bu anahtar kelimenin kullanımı, class içindeki değişkenlerle, constructor ve metot parametreleri arasındaki isim çakışmalarını çözmek için oldukça önemlidir.

Yani yukarıdaki class’ımızı ele alırsak this kelimesi ile class içinde yer alan model, year ve engine değişkenlerini kullandığımızı belirtiyoruz.

Bir örnek daha vererek konuyu pekiştirelim ve yazımızı sonlandıralım.

Constructor’umuzun main metod içinde kullanımı ise şöyle olacak.

Burada dikkat etmeniz gereken konu hem parametreli hem de parametresiz constructor kulladığım için nesnelerimi oluştururken iki farklı yol kullanabildim.

Yani person1 nesnesinde parametresiz constructor’ı kullandım ve değer atamalarımı daha sonra yaptım.

person2’de ise parametreli constructor kullanarak nesnemi oluştururken değer ataması yaptım.

Eğer sizde bu yazıyı ve önceki yazıları iyi anladığınızı düşünüyorsanız bir sonraki yazıya geçmeye hazırsınız. Eğer anlamadığınız bir yer olduysa yada önceki yazılardan okumadıklarınız varsa Java’da Metot ParametreleriJava’da Object Oriented Programming (Nesne Yönelimli Programlama) yazılarını okumanızı tavsiye ederim.

Umarım sizler için faydalı bir yazı olmuştur. Bir sonraki yazımda görüşmek üzere.

Happy coding!

Yorum Yazın