# Java'da Kurucu Metotlar (Constructors) Kurucu metotlar sınıf tasarlanırken yazılırlar. Sınıfınızı yazarken kurucu metotlarınızı da tanımlayabilirsiniz. EÄer sınıf içinde hiç kurucu metot tanımlamazsınız parametresiz boÅ bir kurucu metot Java tarafından otomatik olarak tanımlanır. Kurucu metotlar ilgili sınıftan bir nesne üretmeye çalıÅtıÄınızda daha nesne üretme aÅamasında çalıÅtırılan özel metotlardır (fonksiyonlardır). **Kurucu metotların isimleri Sınıf ismiyle aynı olmak zorundadır.** DönüŠtipi olarak veya void olarak herhangi bir tanımlama yapılmasına gerek yoktur. "new" anahtar kelimesi ile nesne üretirken kurucu metot çaÄrımı yapılır. İki tip kurucu metot vardır: - Parametresiz Varsayılan Kurucu Metot - Parametreli Kurucu Metot ## Parametresiz Varsayılan Kurucu Metot ```java class DatabaseConnection { private String url; private int portNo; // Parametresiz varsayılan boÅ kurucu metot. // Kurucu metot içinde port numarasını sıfıra, baÄlantı cümlesini de boÅ String'e eÅitliyoruz. public DatabaseConnection() { this.url = ""; this.portNo = 0; } } ``` AÅaÄıdaki gibi parametresiz Åekilde bir nesne oluÅturma esnasında otomatik olarak yukarıdaki "Parametresiz Kurucu Metot" çaÄrılacaktır. ```java // nesne oluÅtururken new anahtar kelimesinden sonra hangi kurucuyu çaÄıracaÄımızı belirtiyoruz. // "DatabaseConnection()" ifadesi ile aslında Parametresiz varsayılan kurucuyu çaÄıracaÄımızı söylüyoruz. DatabaseConnection dbConnection = new DatabaseConnection(); ``` ## Parametreli Kurucu Metot ```java class DatabaseConnection { private String url; private int portNo; // Parametreli kurucu metot. // url ve port bilgisi dıÅarıdan nesne oluÅturulurken verilir. public DatabaseConnection(String url, int portNo){ this.url = url; this.portNo = portNo; } } ``` AÅaÄıdaki gibi parametreli bir Åekilde nesne oluÅturma esnasında otomatik olarak yukarıdaki "Parametreli Kurucu Metot" çaÄrılacaktır. ```java // Nesne oluÅtururken new anahtar kelimesinden sonra parametreli kurucuyu çaÄıracaÄımızı söylüyoruz. // Ãünkü nesne oluÅturma aÅamasında "DatabaseConnection("jdbc:Mysql//localhost", 3307)" Åeklinde bir çaÄrım yaparak, sınıfı yazarken tanımlamıŠolduÄumuz parametreli kurucuyu çaÄırıyoruz. DatabaseConnection dbConnection = new DatabaseConnection("jdbc:Mysql//localhost", 3307); ```