İlginizi Çekebilir
Java TreeSet Kullanımı
featured
  1. Ana Sayfa
  2. Java
  3. Java Constructor Nedir?

Java Constructor Nedir?

Java’da öğrenmek için çıkmış olduğumuz bilgi serüveninde ileriye doğru sağlam adımlar atarken geçmişte bazı aşamaları çok derinlemesine anlatmayıp, yüzeysel olarak geçtiğimi fark ettim. Bu yüzden geçmişteki aşamaların anlaşılırlığını arttırmak ve temelimizi sağlamlaştırmaya çalışacağız. 🧐

Daha önce “Java Nesne ve Sınıf Kavramları” başlığı altında bahsetmiş olduğum “Java Constructor Metot” yapısını daha detaylı ele alarak “Java Constructor Nedir” sorsuuna cevap arayacağız. İsterseniz daha önce paylaşmış olduğum ve içerisinde genel bilgilerin yer aldığı ilgili rehber içeriğine emrecelen.com.tr/java-nesne-ve-sinif-kavramlari/ bu bağlantı adresini takip ederek ulaşabilirsiniz. 👀

Kendinizi hazır hissediyorsanız daha önce öğrenmiş olduğumuz “constructor” yapısını daha detaylı bir şekilde ele alarak tanıyacağımız “Java Constructor Nedir” sorusuna cevap aramaya başlayalım. 🕵🏻

Java Constructor Nedir? (Yapıcı / Kurucu Metot)

Java Constructor, nesne yönelimli programlama dilleri içerisinde oldukça önemli bir konumda yer almaktadır. Oluşturulan sınıf yapılarının nesne olarak tanımlanması durumunda proje dosyasının alt yapısını hazırlayan, kurucu rol üstlenerek çeşitli ilk işlemleri gerçekleştiren, kullanılan sınıf yapısı ile aynı isme sahip olan, geriye değer döndürmeyen özel metot yapılarıdır.

Bu zamana kadar geliştirdiğimiz program yapılarında biz farkına varmadan Java bizim için programımızın sınıf yapılarını çağırdığı zaman ya da çalıştırdığı zaman gizli, null bir yapıya sahip constructor oluşturuyordu. Yani projelerimizin sınıf yapıları çalışırken ister istemez constructor(yapıcı / kurucu metotlar) metot yapılarına bağlılık göstermektedir. 🤨

Biliyorum, belki bu tanımlama size karışık gelmiş olabilir, bu yüzden constructor metot yapısını şu şekilde ele almamız kavramın öğrenilme konusunda büyük kolaylık sağlayacaktır. Bu tanımlamada, geliştirdiğimiz proje yapılarının sahip olduğu iskelet yapısının ve hareket işlemlerinin ilk kez gerçekleştiği, çeşitli tanımlamaların gerçekleştiği alanın constructor (yapıcı / kurucu) metotlar tarafından oluştuğunu bilmeniz olacaktır.👌🏻👨🏻‍💻

Java Constructor Nedir” sorusuna temel teorik bir bilgi verdiğime ve elimden geldiğince örnek bir şablon üzerinde anlatmaya çalıştığıma göre artık bu öğrendiğimiz bilgiyi destekleyecek, ne işe yaradığını daha çok anlayacağımız ve ne için projelerimizde constructor (kurucu / yapıcı) metot yapılarını kullanmamız gerektiğini öğrenebileceğimiz bir sonraki aşamaya geçiş yapabiliriz. Hazırsanız, “Java Constructor Özellikleri” başlığına geçiş yapalım ve rehber içeriğimizde ileriye doğru bir adım daha atmış olalım.

Java Yapıcı Metotlar Nedir
Java Constructor Nedir

Java Constructor Özellikleri

Java Constructor (Kurucu / Yapıcı) metot yapılarının kullanımı sonucunda projelerimize sağlamış olduğu bazı faydalar ve kazandırmış olduğu bazı özellikler bulunur. Bu faydaları ve özellikleri aşağıdaki maddeler üzerinde gözlemleyerek, inceleyebilirsiniz.

  • Constructor (Kurucu / Yapıcı) metot yapılarının tanımlanması esnasında aşırı yükleme (overloading) yaparak birçok kullanım oluşumuna imkan sağlar ve böylelikle projemizin sınıfına erişmemizi esnek bir hale getirir.
  • Tanımlamış olduğumuz Constructor yapıları her ne kadar metot olarak literatür içerisinde tanımlansa da geriye herhangi bir değer döndüremezler.
  • Gerçekleştirilecek işlemleri, nesne oluşumu esnasında gerçekleşmesi için oluşturacağımız constructor yapıları sayesinde ilerleyen zamanlarda proje üzerinde genel değişiklikleri kolay bir şekilde gerçekleştirebiliriz.
  • Constructor metot yapıları oluşturulurken parametreye sahip veya parametresiz bir şekilde tanımlanabilir ve kullanır.

Teorik olarak, constructor (kurucu / yapıcı) metot yapısını tanıdığımıza göre artık bu yapının projelerimiz içerisinde nasıl kullanılması gerektiğine dair araştırmalar yapabiliriz.

Java Constructor Kullanımı Nasıl Yapılır?

Geliştireceğimiz projeler içerisinde ihtiyaç duyacağımız constructor metot yapılarının nasıl tanımlanması gerektiğini iyi bir şekilde bilmemiz gerekiyor. Olası bir hata ile karşılaşmamak, projelerimizin temel yapısını sağlam bir şekilde oluşturabilmek ve “Java Constructor Kullanımı Nasıl Yapılır” sorusuna güzel bir cevap verebilmek için aşamaları maddeler halinde sizlere anlatmayı düşünüyorum.

Java Constructor Kullanımı ile alakalı bu ilgili açıklamaları aşağıda yer alan maddeler üzerinden inceleyebilirsiniz.

  1. İlk adım olarak “Constructor” yapıyı oluşturabileceğim boş bir sınıf oluşturuyorum.
  2. Daha sonra, kurucu metot yapımızın ismi ile sınıf yapımızın ismi aynı olmak zorunda olduğundan dolayı java constructor kullanımını bu kurala uygun bir şekilde gerçekleştiriyorum.
  3. Tanımla işlemini gerçekleştirirken mutlaka erişim belirleyicisini “public” olarak belirtmemiz gerektiğinden dolayı metot yapımızın erişim belirleyicisini “public” olarak belirliyorum.

Tabii, teorik olarak yukarıdaki maddelerden bir şey anlamamış olabilirsiniz bu yüzden artık elimizi biraz kod ile kirleterek öğrendiğimiz ve açıkladığımız bu teorik bilgileri derleyerek güzel bir tanımlama örneğini aşağıdaki kod bloğu üzerinde oluşturalım.

public class ConstructorClass {
    public ConstructorClass(){
        ///---> Parametresiz Constructor Metot Oluşumu Bu Şekilde Gerçekleştirilir <---\\\
    }
    public ConstructorClass(String strPrm, int intPrm, double dblPrm){
        ///---> Parametreli Constructor Metot Oluşumu Bu Şekilde Gerçekleştirilir <---\\\
    }
}

Teorik olarak öğrendiğimiz bilgilerin tümünü pratiğe dökmek, nasıl kullanıldığını ve projelerimizin içerisinde nasıl etki yarattığını gözlemlemek için “Java Constructor Örnekleri” başlığına geçiş yaparak çeşitli çalışmalar gerçekleştirelim. 🤓

Java Constructor Örnekleri

Öğrendiğimiz bilgilerin java projeleri üzerinde nasıl çalıştığını gözlemlemek için basit bir “java constructor örnek” yapısı oluşturarak kurucu metot yapısının çalışma yapısını daha yakından anlayalım.

  1. Öncelikle “Constructor” metot yapısının kullanılmayacağı, bazı bilgilerin nesne işlemi oluşturulduktan sonra güncelleneceği bir yapı oluşturmak ve örneğimizin akılda kalıcılığını arttırmak için “EmployeManager” isminde bir sınıf yapısı oluşturalım.
  2. Daha sonra oluşturmuş olduğumuz bu sınıf içerisinde çalışanların bilgilerini kayıt edebilmek için çeşitli değişkenler tanımlayalım.
  3. Tanımlamış olduğumuz bu değişken yapılarını daha güvenli bir yapıda olabilmesi için erişim belirleyicisini “private” olarak tanımlayalım.
  4. Bu aşamalardan sonra sınıf yapımızdan nesne türetildiği zaman bu değişkenlere değerlerin rahatlıkla atanabilmesini sağlamak için getter ve setter metot yapılarını oluşturalım.
  5. Tüm bu işlemlerden sonra oluşturmuş olduğumuz “EmployeManager” sınıf içerisindeki kod blokları aşağıdaki gibi olmuştur.

    public class EmployeManager {
    
        ///---> Değişken Tanımlama İşlemleri <---\\\
        private String ayrac = new String(new char[15]).replace("\0", "-");
        private String isim, soyisim, mailAdresi,unvan;
        private int yas, maas;
    
        ///---> Getter ve Setter Metotlarının Tanımlanması <---\\\
    
        public void setIsim(String isim) {
            this.isim = isim;
        }
        public String getIsim() {
            return isim;
        }
        public void setSoyisim(String soyisim) {
            this.soyisim = soyisim;
        }
        public String getSoyisim() {
            return soyisim;
        }
        public void setMailAdresi(String mailAdresi) {
            this.mailAdresi = mailAdresi;
        }
        public String getMailAdresi() {
            return mailAdresi;
        }
        public void setUnvan(String unvan) {
            this.unvan = unvan;
        }
        public String getUnvan() {
            return unvan;
        }
        public void setYas(int yas) {
            this.yas = yas;
        }
        public int getYas() {
            return yas;
        }
        public void setMaas(int maas) {
            this.maas = maas;
        }
        public int getMaas() {
            return maas;
        }
    
        ///---> Elde Ettiğimiz Verileri Ekrana Yazdırmak İçin Metot Oluşturalım <---\\\
        protected  void yazdir(){
            System.out.println(ayrac+"\n < Java Constructor Metot Kullanımı >\n"+ayrac);
            System.out.println("-> Çalışanın bilgileri derlenip konsol ekranına yazdırılmaya hazırlanıyor...\n"+ayrac);
            System.out.println("-> Çalışanın Adı: " + getIsim()+"\n-> Çalışanın Soyismi: "+ getSoyisim()+"\n-> Çalışanın Yaşı: " + getYas());
            System.out.println("-> Çalışanın Unvanı: " + getUnvan() + "\n-> Çalışanın Mail Adresi: "+ getMailAdresi());
            System.out.println("-> Çalışanın Maaşı: " + getMaas() + " TL\n"+ayrac);
        }
    }
    
  6. Daha sonra tüm bu işlemlerin çıktısını kontrol etmek için “Main” sınıf yapımıza girerek “EmployeManager” sınıfından bir nesne oluşturuyoruz.
  7. Bu nesneyi oluşturduktan sonra bilgilerin ekrana yazdırılmasını sağlamak için yazdir() metodunu çağırarak programımızı çalıştırıyoruz.
  8. Çalıştırmış olduğumuz “Main” sınıf içerisinde yer alan kod blokları ise aşağıdaki görebileceğiniz gibidir.

    public class Main {
    
        public static void main(String[] args) {
    
            ///---> Sınıf yapısından nesne türetme işlemini gerçekleştirelim <---\\\
            EmployeManager employeManager = new EmployeManager();
    
            ///---> Oluşturmuş olduğumuz nesne içerisindeki değişkenlere veri ataması gerçekleştirelim <---\\\
            employeManager.setIsim("Muzaffer");
            employeManager.setSoyisim("Çağlayan");
            employeManager.setYas(36);
            employeManager.setUnvan("Bilgisayar Mühendisi");
            employeManager.setMailAdresi("[email protected]");
            employeManager.setMaas(9500);
    
            ///---> Eklemiş olduğumuz verilerin çıktısını kontrol etmek için yazdir() metodunu çağıralım <---\\\
            employeManager.yazdir();
        }
    }
    

Kod Çıktısı:

Java Constructor Kullanımı Nasıl Yapılır
Java Constructor Örnekleri

Eğer, oluşturmuş olduğumuz değişkenlere “Main” sınıfı içerisinde değer atamaları yapmaz ve direkt olarak yazdir() metodunu çalıştırırsak aşağıdaki kod çıktısını almış oluruz.

Kod Çıktısı:

Java Constructor Örnekleri
Java Constructor Kullanımı

Böyle bir sorun ile karşılaşmamak ve projemizin sahip olduğu yapıyı sağlamlaştırmak ve sonraki aşamaları daha stabil bir şekilde yürütmek için “Constructor” metot yapısını kullanmamız gerekmektedir. İsterseniz bu yukarıdaki örneğin birde constructor (yapıcı / kurucu) metot kullanılmış halini oluşturarak ekran çıktısına ve çalışma prensibine göz atalım.

  1. Yukarıdaki takip ettiğimiz aşamaları hatırlayalım ve “EmployeManager” sınıf yapımızı açalım.
  2. Daha sonra oluşturmuş olduğumuz getter ve setter metot yapılarını ilgili sınıf yapımızın üzerinden kaldıralım.
  3. Kaldırma işlemini yaptıktan sonra değişkenlerimizin içerisine nesne yapımızın oluştuğu esnada verilerin girişini sağlamak için parametreli bir constructor metot oluşturalım.
  4. Tüm bu işlemlerden sonra “EmployeManager” sınıf yapısı aşağıdaki halini almış oldu.

    public class EmployeManager {
    
        ///---> Değişken Tanımlama İşlemleri <---\\\
        private String ayrac = new String(new char[15]).replace("\0", "-");
        private String isim, soyisim, mailAdresi,unvan;
        private int yas, maas;
    
        ///---> Constructor Metot Tanımlaması <---\\\
        public EmployeManager(String isim, String soyisim, String mailAdresi, String unvan, int yas, int maas){
            System.out.println(ayrac+"\n < Java Constructor Metot Kullanımı >\n"+ayrac);
            System.out.println("-> Bu konsol çıktısını constructor metot çalışması sonucu alıyoruz...");
            this.isim = isim;
            this.soyisim = soyisim;
            this.mailAdresi = mailAdresi;
            this.unvan = unvan;
            this.yas = yas;
            this.maas = maas;
        }
    
        ///---> Elde Ettiğimiz Verileri Ekrana Yazdırmak İçin Metot Oluşturalım <---\\\
        protected  void yazdir(){
            System.out.println("-> Çalışanın bilgileri derlenip konsol ekranına yazdırılmaya hazırlanıyor...\n"+ayrac);
            System.out.println("-> Çalışanın Adı: " + isim+"\n-> Çalışanın Soyismi: "+ soyisim+"\n-> Çalışanın Yaşı: " + yas);
            System.out.println("-> Çalışanın Unvanı: " + unvan + "\n-> Çalışanın Mail Adresi: "+ mailAdresi);
            System.out.println("-> Çalışanın Maaşı: " + maas + " TL\n"+ayrac);
        }
    }
  5. Bu işlemlerden sonra “Main” sınıf yapımızda tanımlamış olduğumuz komut satırlarını kaldırıyoruz.
  6. Kaldırma işleminden sonra “Main” sınıf yapımıza aşağıdaki tanımlamayı gerçekleştiriyoruz ve yazdir() metodu ile konsol ekranımıza çıktı veriyoruz.
  7. public class Main {
    
        public static void main(String[] args) {
    
            ///---> Sınıf yapısından nesne türetme işlemini gerçekleştirelim <---\\\
            EmployeManager employeManager = new EmployeManager("Ömer Faruk","Yıldız","[email protected]","Yönetim Bilişim Sistemleri Uzmanı",23,7000);
    
            ///---> Eklemiş olduğumuz verilerin çıktısını kontrol etmek için yazdir() metodunu çağıralım <---\\\
            employeManager.yazdir();
        }
    }

Kod Çıktısı:

Java Constructor Nedir
Java Constructor (Kurucu / Yapıcı) Metot Kullanımı

Gördüğünüz gibi projelerimiz içerisinde constructor yapılar kullanmak bizlere hem hız, hem esneklik hem de daha güvenli bir yapı sunuyor. Bu yüzden projelerimiz içerisinde constructor (kurucu / yapıcı) metot kullanımlarına önem vermeliyiz.

Benimle birlikte bu bilgi serüvenine çıkarak eksik bıraktığımız “Java Constructor Nedir” sorusuna cevap aradığınız için sonsuz teşekkürlerimi sunuyorum. Eğer, konuya devam etmek ve farklı kaynaklardan “Java Constructor (Kurucu/Yapıcı) Metot Nedir” sorusuna cevap aramak isterseniz Oracle tarafından hazırlanmış rehber içeriğini sizlere tavsiye ederim. Bahsetmiş olduğum bu içeriğe buraya tıklayarak ulaşabilirsiniz.

Unutmayın, aklınıza takılan herhangi bir soru ya da konu işleyişi ile ilgili önerilerinizi veya eleştirilerinizi aşağıda yer alan yorum yap kısmından bana iletebilirsiniz. 👋🏻💬👍🏻

Yorum Yap

Yazar Hakkında

Yazmayı, öğrenmeyi, öğrendiklerini paylaşmayı , kodlamayı ve günün birinde Yönetim Bilişim Sistemleri Uzmanı olmanın hayalini kuran birisiyim.

Yorum Yap