Metotlar (Methods)
🎯 1. Metot Nedir?
Section titled “🎯 1. Metot Nedir?”Metot, belirli bir görevi yerine getiren kod bloklarıdır.
Kod tekrarını önler, okunabilirliği artırır ve programı daha modüler hale getirir.
🔹 2. Metot Tanımlama
Section titled “🔹 2. Metot Tanımlama”Sözdizimi:
erişim_belirleyici geri_dönüş_tipi metotAdı(parametreler) { // Kod bloğu}🧩 Örnek:
Section titled “🧩 Örnek:”public static void selamVer() { System.out.println("Merhaba Java!");}📌
void→ metot bir değer döndürmüyorsa kullanılır.
🔹 3. Metot Çağırma
Section titled “🔹 3. Metot Çağırma”public class Main { public static void main(String[] args) { selamVer(); // metot çağrısı }
static void selamVer() { System.out.println("Merhaba!"); }}🔹 4. Parametreli Metot
Section titled “🔹 4. Parametreli Metot”public static void topla(int a, int b) { int sonuc = a + b; System.out.println("Toplam: " + sonuc);}Çağırma:
Section titled “Çağırma:”topla(5, 8);🔹 5. Geri Değer Döndüren Metot (return)
Section titled “🔹 5. Geri Değer Döndüren Metot (return)”public static int carp(int x, int y) { return x * y;}Kullanımı:
Section titled “Kullanımı:”int sonuc = carp(4, 5);System.out.println("Çarpım: " + sonuc);💡
returnifadesi, metottan bir değer döndürür ve çalışmayı sonlandırır.
🔹 6. Birden Fazla Parametre
Section titled “🔹 6. Birden Fazla Parametre”public static void bilgiler(String ad, int yas) { System.out.println("Ad: " + ad + ", Yaş: " + yas);}bilgiler("Ahmet", 25);🔹 7. Overloading (Aşırı Yükleme)
Section titled “🔹 7. Overloading (Aşırı Yükleme)”Aynı isimli metotlar, farklı parametre listeleri ile tanımlanabilir.
public static int topla(int a, int b) { return a + b;}
public static double topla(double a, double b) { return a + b;}💡
topla(3,4)→intversiyonunu,
topla(3.5,2.1)→doubleversiyonunu çağırır.
🔹 8. Metotların Erişim Belirleyicileri
Section titled “🔹 8. Metotların Erişim Belirleyicileri”| Belirleyici | Erişim Alanı |
|---|---|
public | Her yerden erişilebilir |
private | Sadece aynı sınıf içinde erişilebilir |
protected | Aynı paket veya alt sınıflardan erişilebilir |
| (default) | Aynı paket içinden erişilebilir |
🔹 9. static ve non-static Metotlar
Section titled “🔹 9. static ve non-static Metotlar”🔸 static
Section titled “🔸 static”Sınıfa bağlıdır, nesne oluşturmadan çağrılabilir.
public static void yaz() { System.out.println("Statik metot!");}Çağırma:
Main.yaz();🔸 non-static
Section titled “🔸 non-static”Nesneye bağlıdır, çağırmak için nesne oluşturmak gerekir.
public void yaz2() { System.out.println("Nesneye ait metot!");}
Main m = new Main();m.yaz2();🔹 10. void ve return Arasındaki Fark
Section titled “🔹 10. void ve return Arasındaki Fark”| Tip | Geri Değer | Örnek |
|---|---|---|
void | Değer döndürmez | void yaz() |
int, String vb. | Değer döndürür | int topla() |
🔹 11. Örnek: Sayıların Ortalama Hesabı
Section titled “🔹 11. Örnek: Sayıların Ortalama Hesabı”public class Ortalama { public static double ortalama(double a, double b, double c) { return (a + b + c) / 3; }
public static void main(String[] args) { double sonuc = ortalama(10, 20, 30); System.out.println("Ortalama: " + sonuc); }}🔹 12. Metot İçinde Metot Çağrısı
Section titled “🔹 12. Metot İçinde Metot Çağrısı”public static int kare(int x) { return x * x;}
public static void yazdirKare(int sayi) { System.out.println("Karesi: " + kare(sayi));}💡 Bir metot içinde başka bir metot çağrılabilir.
🔹 13. Rekürsif (Kendi Kendini Çağıran) Metotlar
Section titled “🔹 13. Rekürsif (Kendi Kendini Çağıran) Metotlar”public static int faktoriyel(int n) { if (n == 0) return 1; return n * faktoriyel(n - 1);}📈
faktoriyel(5)=5 * 4 * 3 * 2 * 1 = 120
🧩 14. Örnek: Basit Hesap Makinesi
Section titled “🧩 14. Örnek: Basit Hesap Makinesi”public class Hesap { public static int topla(int a, int b) { return a + b; } public static int cikar(int a, int b) { return a - b; } public static int carp(int a, int b) { return a * b; } public static double bol(double a, double b) { return a / b; }
public static void main(String[] args) { System.out.println("Toplam: " + topla(10, 5)); System.out.println("Fark: " + cikar(10, 5)); System.out.println("Çarpım: " + carp(10, 5)); System.out.println("Bölüm: " + bol(10, 5)); }}🏁 Özet
Section titled “🏁 Özet”| Kavram | Açıklama | Örnek |
|---|---|---|
| Metot | Tekrar kullanılabilir kod bloğu | void yaz() |
| Parametreli Metot | Girdi alır | topla(int a, int b) |
| Return Metodu | Değer döndürür | return x + y; |
| Overloading | Aynı isim, farklı parametreler | topla(int, int) / topla(double, double) |
| static | Nesne oluşturmadan çağrılır | Main.metot() |
💡 Not: Metotlar, kodunuzu daha modüler hale getirir ve test etmeyi kolaylaştırır. Büyük projelerde düzenli metot yapısı çok önemlidir.