Bu yazımda Java’da Metodları anlatacağım. Metotları OOP paradigması içinde çok kullanıyoruz. Ayrıca OOP konularına başladığımızdan beri metotları verdiğimiz örneklerin içinde kullandık. Bu yüzden önceki yazıları okuyanların konu hakkında ön bilgisi olduğunu düşünüyorum. İsterseniz metotlar konusunu biraz daha derinlemesine inceleyelim. Yazının içeriği aşağıdadır:
İçindekiler
- Metot Nedir?
- Metot Nasıl Tanımlanır?
- Metot Nasıl Kullanılır?
Metot Nedir?
Java’da “methods” yani Türkçe ifadesi ile “metotlar”, bir sınıf içinde belirli bir işlevi yerine getiren ve genellikle bir ad altında toplanmış fonksiyonlardır. Metotlar, nesne yönelimli programlama (OOP) paradigmalarına uyan ve Java dilindeki temel programlama yapı taşlarından biridir. Metodları “fonksiyon” veya “prosedür” olarak da adlandırabiliriz.
Bu tanımlamadan sonra bir metodu nasıl oluştururuz ve nasıl kullanırız sorularını cevaplandıralım.
Metot Nasıl Tanımlanır?
Java’da bir metot, sınıfın içinde tanımlanır ve aşağıdaki temel yapıya sahiptir:
1 2 3 4 5 6 7 8 9 |
erişim_belirleyici geri_dönüş_tipi metot_adı(parametre_listesi) { // Metot gövdesi (kod bloğu) // Metotun gerçekleştireceği işlemler burada yapılır. // Geri dönüş tipi belirtilmişse, metot sonunda bir değer döndürmelidir. } |
Yukarıda vermiş olduğumuz temel taslakta yer alan ifadeleri biraz daha yakından inceleyelim.
erişim_belirleyici (access modifier): Metodun erişilebilirlik düzeyini belirler (örneğin, public, private, protected, vb.).
geri_dönüş_tipi (return_type): Metodun döndüreceği değerin türünü belirler. Eğer metot hiçbir şey döndürmeyecekse void olarak belirtilir.
metot_adı (method_name): Metot için bir isimdir ve bu isimle metoda erişilir.
parametre_listesi (parameter_list): Metot çağrıldığında alacağı parametrelerin listesini belirtir. Metot bu parametrelerle çalışabilir ve sonuçları buna göre üretebilir.
metot gövdesi (method body): Metotun gerçekleştireceği işlemler burada yapılır. Bu kısım, süslü parantezler arasında yer alır.
Şimdi yukarıdaki teorik açıklamaları temel alarak metodumuzu oluşturalım.
İşte metodumuz:
1 2 3 4 5 6 |
public int sum(int number1, int number2) { int number3 = number1 + number2; return number3; } |
Yukarıdaki örnekde sum adında bir metot tanımladık. Metodumuz parametre olarak int türünde number1 ve number2 adlı iki değişken alıyor.
Metodumuzun gövdesinde ise number3 adlı bir değişken tanımlanıyor. Bu değişkene ise number1 ve number2 değişkenlerinin toplamı eşitlik operatöru kullanarak atanıyor.
En son işlemde ise bu number3 return ediliyor yani geri döndürülüyor.
Metot Nasıl Kullanılır?
Metod nasıl kullanılır sorusunun cevabını verirken yukarıda tanımladığımız metod üzerinde devam edeceğim. Ayrıca burada return ve void arasındaki farkıda göreceksiniz.
İlk olarak void kullanımına bakalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
public class Main { public static void sum(int number1, int number2){ int number3 = number1 + number2; System.out.println(number3); } public static void main(String[] args) { int number4 = sum(4,5); System.out.println(number4); } } |
Kodumuzun iyi anlaşılabilmesi için oldukça basit tuttum. Var olan metodumuzu main içerisinde kullanmak için number4 adlı bir değişken oluşturdum ve sum metoduna 4 ve 5 sayılarını parametre olarak verdim.
Ancak metodumun dönüş tipi void olduğu için aşağıdaki uyarıyı aldım.
Eğer return dönüş tipini kullansaydım kodum ve çıktım bu şekilde olacaktı.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
public class Main { public static int sum(int number1, int number2){ int number3 = number1 + number2; return number3; } public static void main(String[] args) { int number4 = sum(4,5); System.out.println(number4); } } |
Eğer resmi incelerseniz programımız compile edilirken yani çalıştırılırken hiçbir hata olmadı. Bunun sebebi metodumun ürettiği değeri return etmesi.
Bu iki örneği oldukça temel düzeyde hazırladım. Metodumuz main class’da yer aldı ve herhangi bir nesneye ait değildi. Şimdi farklı bir class ve bir nesne ile yeni bir örnek yapalım.
İşte örneğimiz:
İlk önce Person adlı bir class tanımlıyorum
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
public class Person { String name; String surname; int age; public void increaseAge(int addedAge) { age += addedAge; System.out.println("New Age: " + age); } public void decreaseAge(int reducedAge) { age -= reducedAge; System.out.println("New Age: " + age); } public void personalInformation() { System.out.println("Here is your personal information "+ name+ " " + surname +" " + age ); } } |
Main class içinde ise class’ımdan bir nesne üretip metodlarını kullanıyorum.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public class Main { public static void main(String[] args) { Person person1 = new Person(); person1.name = "Mehsatek"; person1.surname = "Developer"; person1.age = 33; person1.decreaseAge(2); person1.increaseAge(3); person1.personalInformation(); } } |
Kodumun çıktısı ise şu şekilde olacak.
- New Age: 31
- New Age: 34
- Here is your personal information Mehsatek Developer 34
Java’da Metodlar konusunu genel hatlarıyla bu şekilde anlatabiliriz.
Eğer sizde bu yazıyı ve önceki yazıları iyi anladığınızı düşünüyorsanız bir sonraki yazıya geçmeye hazırsınız. Eğer anlamadığınız bir yer olduysa yada önceki yazılardan okumadıklarınız varsa Java’da Object Oriented Programming (Nesne Yönelimli Programlama), Java’da Sınıflar (Classes), Java Object (Nesne) Nedir? yazılarını okumanızı tavsiye ederim.
Umarım sizler için faydalı bir yazı olmuştur. Bir sonraki yazımda görüşmek üzere.
Happy coding!
anlatim cok guzel. ne zamandir boyle sade anlatima denk gelememistim.
Değerli yorumunuz için teşekkürler.