Java Ders 9 – Metotlar Nedir, Nasıl Kullanılır?

Bugünkü Java Dersimizde metotlar nedir, nasıl kullanılır? Konularından bahsedip bol bol örnek yapacağız. Öncelikle metot = fonksiyon bunu unutmamız gerekiyor. Her programlama dilinde metotlar yer alır. Bir kod bloğunu sürekli yazmak yerine bir metot içerisine yazıp ihtiyaç halinde çağırmak daha basit ve kullanışlıdır. Metotların asil işlevi de budur bir kez yazıp dilediğiniz yerden çağırıp kullanırsınız.

Static Öğe Nedir?

Sıklıkla main() yani ana metodumuzun başında kullandığımız static anahtar kelimesini hatırlarsınız. Bu anahtar kelimenin işlevi bununla nitelenen değişken veya metodun direkt olarak kullanımına izin verilmesidir. Nesne Tabanlı Programlama derslerinde göreceğimiz nesne oluşturma işlemine gerek kalmadan static nitelemesi verilerek direkt kullanılabilir.

Metot Nasıl Tanımlanır Örnek

Parametre Alan Metot

Metodun parantezi içerisinde yer alan değişkenlere parametre ismi verilir. Bir metoda değişken göndermek istiyorsak o metoda parametreler veririz. Yolladığımız değişkenleri metot içerisinde işleme tabi tutabilir, dilediğimiz biçimde kullanabiliriz. Birden çok değişken eklenecekse virgül ile ayrılır. Dilediğimiz tipte değişkeni veya nesneyi metot parametresine ekleyebiliriz. Aşağıdaki örneğe bakalım.

Parametre Alan ve Değer Döndüren Metot

Yukarıda metoda parametre almayı gördük. Şimdiyse metottan geriye değer döndürmeyi görelim. Değer döndürmek için öncelikle metot oluştururken kullandığımız void anahtar kelimesinden kurtulmamız gerekiyor. void değer döndürmeyen metotlara verilen anahtar kelimedir. void silinir yerine dönecek verinin tipi yazılır. Metot içerisinde bu veri return anahtar kelimesiyle döndürülür.

Static Olmadan Nesne Oluşturarak Metot Kullanmak

Bu normalde Nesne Tabanlı Programlamanın bir konusu fakat burada değinmek istiyorum. Biz sürekli static yazarak metotları çağırıyoruz. Diyelim ki static kullanmadan nesne oluşturarak erişmek istiyoruz. Bunu nasıl yapabileceğimizi görelim. Aşağıdaki örnek kafanızı karıştırırsa üzülmeyin Nesne Tabanlı Programlamada bu konunun detaylarına ineceğiz.

main() Metodu

Java dilinde bir programın bütün işlevlerini yaptıran ana metottur. Programın kullanacağı tüm deyimleri içerebilir veya modüler yapıda yazılan programlarda öteki sınıflara tanımlanan metotları ve değişkenleri çağırır ve belirlenen sırayla işleme sokar. Her programda ana metot işlevini üstlenen yalnızca 1 main metodu bulunur. Static olduğu için oluşturma anında bellekte ona bir yer ayrılır ve rahatlıkla erişim sağlanabilir. Fakat bu metottan başka değişken (metot dışı) veya metotlara erişmek için ya nesne oluşturmak gerekir ya da static nitelemesine sahip olması gerekir. Örnek için bir üst örneğe bakabilirsiniz.

Overload (Adaşlama)

Java Overloading Nasıl Yapılır? Türkçeye aşırı yükleme olarak da geçer. Bir metot aynı isime sahipken bu metottan birden fazla oluşturulup parametrelerindeki değişkenlerin adı veya tipi değiştirilmesidir. Buna neden ihtiyaç duyulduğunu şöyle özetlemek gerekirse System.out.println(); parantez içine gelip ctrl + space tuşlarına basarsanız aşağıdaki gibi bir görüntü sizleri karşılar.

Yukarıda println(); metodunun x isimli değişkeni hangi tiplerde aldığını görüyorsunuz. Hepsi farklı tip ama aynı metot işte bunu overloading ile yapabiliyoruz. Hemen aşağıdaki örnekte overload işleminin nasıl yapıldığını gösterdim.

Yukarıdaki örnekte ekrana verileri metotlar aracılığıyla yazdırabildik. Tüm metotlar aynı isimde fakat değişken tipleri ve değişken isimleri farklı bu şekilde sanki tek metotla birçok işlem yapıyormuşuz gibi görünüyor print() metodu gibi. Bugünkü dersimizde java metotlar konusunu gördük şimdilik bu kadardı bir sonraki derste görüşmek üzere.

2 yorumlar

  1. merhaba hocam,

    Diyelim Update diye bir sınıfımız var

    bizde Delete sınıfından;

    public void X( Update x){} metodunu yazıyoruz burdaki Update parametresinin anlamı nedir?

    • Orda metoda Update sınıfından bir paramtere vermiş oluyorsun. Bu gelen parametreyi kullanıp Update sınıfına dair dilediğin işlemi yapabilirsin.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.