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.
