Eğer Java’dan başka bir programlama dili biliyorsanız genelde fonksiyonlar olarak bildiğimiz yapılar, Java’da metotlar olarak adlandırılıyor. Geçen yazılarda sınıf oluşturup onları temsilen nesneler üretmiştik. Bugün yine benzer şeyler yapacağız ama bu sefer metotların kullanımını da göreceğiz.

Bir nesnenin özellikleri olabileceğinden bahsetmiştim. Nesnelerin özellikleri olabileceği gibi bazı işlevleri de vardır. Mesela telefon bir nesnedir ve telefonun rengi onun bir özelliği olarak varsayabiliriz. Telefonun arama yapabilmesi ise onun bir işlevidir. Biz telefonun arama yeteneğini/işlevini nesne yönelimli programlamada metotlar ile temsil edebiliriz.

Şimdi gelin bir telefon sınıfı oluşturalım ve ona birkaç özellik verelim mesela markası, modeli, rengi gibi… Daha sonra da ona birkaç yetenek ekleyelim.

class Telefon {
    public String marka;
    public String model;
    public int uretimYili;

    public void ara(String isim) {
        System.out.println(isim + " adlı kişi aranıyor...");
    }

    public void mesajAt(String isim, String mesaj) {
        System.out.println(isim + " adlı kişiye " + mesaj + " mesajı gönderiliyor...");
    }

    public void telefonBilgileriGoster() {
        System.out.println("Telefonunuzun markası: " + marka);
        System.out.println("Telefonunuzun modeli: " + model);
        System.out.println("Telefonunuzun üretim yılı: " + uretimYili);
    }
}

public class Metotlar {
    
    public static void main(String[] args) {
    
        Telefon telefon = new Telefon();

        telefon.marka = "Apple";
        telefon.model = "iPhone SE";
        telefon.uretimYili = 2016;

        telefon.telefonBilgileriGoster();
        telefon.ara("Ahmet");
        telefon.mesajAt("Zeynep", "Selam, naber?");

    }
}

Yukarıda neler yaptığımızı eğer dersleri takip ediyorsanız artık anlamaya başlamışsınızdır. En azından nesneye özellikler verdiğimiz kısmı burada tekrar anlatmayacağım. Bir önceki yazıda o konu hakkında bilgilere ulaşabilirsiniz.

İlk önce “Telefon”  adlı sınıfı oluşturduk ve bu sefer farklı olarak sınıfın içerisine metotlar yazdık. “ara” adlı metot String türünde bir parametre alıyor. Rehberimizde kayıtlı olduğunu varsaydığımız birinin ismini, bu metodu kullanırken parametre olarak yazdık. “mesajAt” adlı metot,  String türünde iki tane parametre alıyor. Birisi mesajı kime göndereceğimizi belirlemek için, diğeri ise mesaj olarak göndereceğimiz ileti için var.

Daha sonra “Metotlar” sınıfı içerisinde, “Telefon”  sınıfını temsilen bir nesne oluşturuyoruz, o nesne üzerinden sınıfımızda bulunan özelliklere değer ataması yapıyoruz ve daha sonra sınıfımızın içerisinde yazdığımız metotlara yine nesne üzerinden ulaşıp, onları kullanıyoruz.