Metot ve Fonksiyon Farkı

Fonksiyon, yalnızca bir girdi alıp bir çıktı döndüren, tamamen bağımsız çalışan bir yapıdır. Her zaman bir değer üretir ve dışında bulundupu yapılara bağlı değildir.

Method ise bir sınıfın veya nesnenin parçasıdır. Bir davranışı temsil eder. Çalışırken çoğu zaman ait olduğu nesnenin özelliklerine (property’lerine) erişir veya onları değiştirir. Değer döndürmek zorunda değildir. Bir işlemi gerçekleştirmek için de kullanılabilir.

Kısaca

Fonksiyon=Bağımsız işlem + Her zaman çıktı üretir.

Method=Nesneye bağlı işlem + Çıktı üretmesi zorunlu değildir.

Örnekler

C# Üzerinden Örnek

Fonksiyon Örneği (Bağımsız, sadece giriş ve çıkış üretir)

int Topla(int a, int b)
{
    return a + b;
}

Örnekteki fonksiyon, yalnızca iki sayıyı toplar, dışarıya bağımlı değildir ve her zaman bir sonuç (return) üretir.

Method Örneği (Bir sınıfın davranışı, nesneye bağlıdır)

class Araba
{
    public int Hiz { get; set; }

    public void Hizlan(int miktar)
    {
        Hiz += miktar;
    }
}

Hızlan bir fonksiyon değildir, bir metottur. Çünkü Araba sınıfına bağımludur ve Arabanın mevcut hız bilgisini değiştirir. Gerşye deper döndürmek zorunda değildir.

Gündelik Hayat Üzerinden Örnekler

Fonksiyon Gİbi Olan Durumlar

Bağımsızdır ve giriş-çıkış mantığı ile çalışır:

  • Limon Sıkmak – limonu koyarsın – limon suyu çıkar (Giriş = limon, Çıkış = limin suyu)
  • Hesap makinesiyle toplama yapmak (Giriş = 7 ve 3, Çıkış = 10)
  • Çaydanlığa su koyup kaynatmek (Giriş = su, Çıkış = sıcak su)

Bu işlemler bir nesnenin bünyesine bağlı değildir, doğrudan işlem yapar ve çıktı üretir.

Metot Gibi Olan Durumlar

Bir varlığa/nesneye bağlıdır, onun durumunu değiştirir:

  • Arabayı çalıştırmak (Arabaya bağlı bir davranıştır; başka bir nesnede çalışmaz.)
  • Kombinin sıcaklığı arttırması (Kombinin içindeki mevcut sıcaklık değerini değiştirir.)
  • Telefonun ekran parlaklığını artırmak (Telefon nesnesinin içindeki bir değeri değiştirir.)

Bu örneklerde işlem bir nesnenin üzerinde yapılır; durum değiştirir ve geriye değer döndürmek zorunda değildir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir