Java’da Main Method’u Ne İşe Yarar?

Bir java projesi başlattığımızda karşımıza ilk çıkan şey main methodu’dur.Kabaca özetlemek gerekirse bir programın ilk koşturulduğu noktadır.Yani başlangıç noktasıdır.

 public class Welcome1{

 // main method begins execution of Java application
 public static void main( String[] args )
{ 
System.out.println( "Welcome to Java Programming!" );
 } // end method main
} // end class

Şimdi burada kodlarımızı biraz yakından inceleyelim.Public deyimi ile bu metodun herkese açık olduğu belirtilmiş.Static deyimi ile de sınıf taşıdığı belirtilmiş.Void olarak tanımlandığı için ise geriye değer döndürmediğini görüyoruz.

Ayrıca main yönetime sahip olduğunu String [] args ile de method üzerinde kullanılcak parameterleri belirtiyoruz.Burada gördüğümüz gibi String deyimi Sınıf adını args ise parametremi belirtir.

Eğer Main Mehtodu Olmazssa ?

Arabanızın kapısı olmasaydı ne yapardınız ? İşte bu da böyle bir şey.Main methodu olmasa Java Virtual Machine çalışmayacaktır bu bir yapıtaşıdır.

Peki Neden Main Method Public Olmak Zorunda ?

Public deyimini kaldırınca bakın sonuç ortada gördüğümüz gibi Main yönetimi public olmak zorunda aksi taktirde kısıtlama olcağını için bu şekilde hata verecektir.Herhangi bir methodu public yapmak zorunda değiliz bu sadece main için geçerlidir.

Peki Neden Main Statcic ?

Java Koşturulmaya başlandığında sınıfın hiç bir nesnesi yoktur.Bu nedenle Java Virtual machine’in Sınıfı belleğe yüklemesi için ve main methodunu koşturması için main yöntemin static olması gerekir.Main static olmazsa sınıfın hiç bir nesnesini olmadığı için JVM bunu koşturamaz.

Peki Neden Void Anlatsana Biraz ?

Java programlada her methodun bir tipi vardır ve tip değerini belirtmemiz gerekir.Örneğin geriye deger döndürücek mi ? Yoksa method çağrıldığı zaman mı koşturulacak ?

Main methodu geri değer döndürmez bu yüzden dönüş türü void olarak gelir.Çünkü main koşturulduktan sonra java programını sonlandırılır.Yani gece gece icat çıkarmaya gerek yoktur 🙂 Eğer main methodun bir değer döndürmeye kalkarsak zaten verecektir.

Main yerine başka bir değer eklersek ?

public static void mymain(String[] args){

	System.out.println("Hello World");
}
}

Burada çıkan hata da çok fazla kurcalamayın demekte 🙂 Main burada yapılası demiştik.Java programını başlatıldığında önce main isimli methodu arar o yoksa bu şekilde koşturulmaz.

Neden String [] args ?

Java main mehtodu String türünde tek bir dizi kabul eder.Buna java komut satırında bağımsız değişkenleride denir.Java komut satırı bağımsız değişkenlerine bakalım.

public class Test {

public static void main(String[] args){

    for(String s : args){
	System.out.println(s);
    }
	
    }
}

Sonuç olarak her dosyamız 1 adet public class içermelidir ve main methodu olmalıdır.Dosya adımızın ise sınıf adı ile aynı olması gerekir.

Leave a Reply

*