5.00 / 1 oy

Java'da metod imzaları ve kullanım şekilleri

Önceki paylaşımımda Java'da metod tanımlamak ve kullanmak ile ilgili bir giriş yapmıştım. Şimdi metodlarda imza konusunu örneklerle izah etmeye çalışacağım.

Örnek: 2 adet sayıyı çarpan ve tamsayı olarak değer döndüren bir Java metodu tanımlayın ve main metodu içerisinden çağırarak kullanın

public static void main(String [] args) {
    System.out.println(carp(2,3)); //6
}

public static int carp (int a, int b)
{
    return a*b;
}

Problem: 2 adet sayıyı çarparak değerini döndüren metodumuz problemsiz olarak çalışıyor, peki ya çarpmamız gereken 3 değişken olsaydı?

java metod hatası

Java, carp metodunu 2,3 ve 4 sayılarını çarpmamız için kullanmak istediğimizde bize hata verdi, çünkü bu metod 2 adet tamsayı alarak çalışan bir metod. Peki carp metodu 2 tamsayıyı çarpmak için hazırlanmış bir metod ise biz her farklı sayıda sayıyı çarpmaya yarayan metoda ayrı ayrı isim mi vermek zorundayız? Hayır, metodlar farklı sayıda ve türde parametreler ile tanımlanabilirler ve her bir metod adı ile parametre dizilimi, o metodun imzası olur. 3 tamsayı parametresi alan bir carp metodu daha tanımlayalım ve önceki 2 parametreli carp metodunun altına ekleyelim.

public static int carp (int a, int b)
{
    return a*b;
}

public static int carp (int a, int b, int c)
{
    return a*b*c;
}

Şimdi carp adında metod(lar)ın hangi parametreler ile çalışabildiklerini test etmek için main metodu içerisinde carp yazalım ve ctrl+space tuşlarına aynı anda basalım. Eclipse bize carp adında bir metodun 2 farklı şekilde çağırılabileceğini söylüyor: int, int ile int, int, int

Not: Birden fazla farklı parametre alarak çalışan metodlara, method overloading adı verilmektedir.

java method signatures

Madem artık ister 2, istersek de 3 tamsayının çarpımını hesaplayabilen metodlarımız var, ikisini de kullanalım ve bakalım.

public static void main(String [] args) {
    System.out.println(carp(2,3));
    System.out.println(carp(2,3,4)); 
}

public static int carp (int a, int b)
{
    return a*b;
}

public static int carp (int a, int b, int c)
{
    return a*b*c;
}

Çıktı:

6

24

Edit: Peki ya 4 sayıyı çarpmak istersek? Hatta çarpmamız gereken sayıların adetlerini başından bilmiyorsak? Eğer siz de bu soruyu kendinize sorduysanız tebrikler, sizi Değişken sayıda metod parametresi kullanımı ile ilgili hazırladığım Java'da metoda değişken sayıda parametre göndermek yazıma davet ediyorum.

utku33

03.02.2020 02:19

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Java'da metod imzaları ve kullanım şekilleri

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.