Metotlar

Metotlar

Metotlar bir grup kod bloğunun belirli bir işlevi gerçekleştirmek için bir araya gelmesiyle oluşurlar. Genelde programlar küçük parçalara bölünmüş şekle getirilmeye çalışılır. Bu küçük parçalara metot adı verilir. Java programları, metotları içeren java sınıflarıyla, class alan metotların birleşmesinden oluşur.

Java temel parçaları olan modüller, sınıf ve metotlar proje geliştirme sürecinde yeniden kullanılarak hem kodu hem de yazılım geliştirme süresini kısaltmaktadır.

 

Metot Kullanımının Faydaları

Karmaşık programları küçük yapılara bölerek daha anlaşılır ve yönetilebilir seviyeye getiririz. Bir uygulamada değişiklik yapılmak istenildiğinde tüm uygulamada ilgili ifadelerin geçtiği tüm parçalar üzerinde değişiklik yapılması gerekir. Ancak metotlarda bu gibi bir sorunlar görülmez. İlgili metot üzerinde yapılan değişiklik tüm uygulamayı etkiler. Bu da büyük bir zaman ve performans kazandırır.

 

Metot Türleri

Metotlar 2 kısıma ayrılır:

Parametresiz metotlar

Parametre alan metotlar

 

Parametresiz Metotlar

Parametresiz Metotlar, geriye değer döndürmeyen ve parametreleri olmayan metotlardır.

Metot isminden sonraki ilk süslü parantez ve sonraki süslü parantez o metotun gövdesidir. Yani o parantezler içine yazılan kodlar o metota aittir.

Void dönüş tipi olmayan durumlarda kullanılır.

return deyimi ile metotlar sonlandırılır.

Void içeren metotlarda return kullanılmaz.

public class ParametresizMetot {

    public static void main(String[] args) {
        selamVer();
        selamVerParametreli("Merhaba Java Parametreli!");
        int sayi = 5;
        System.out.println(sayi+"!= "+faktoriyelGetir(sayi));
        ;
    }

    private static int faktoriyelGetir(int sayi) {
        int f = 1;
        for (int i = 1; i <= sayi; i++) {
            f*=i;
        }
        return f;
    }

    private static void selamVer() {
        System.out.println("Merhaba Java Parametresiz!");
    }

    private static void selamVerParametreli(String string) {
        System.out.println(string);
    }
}