Ana sayfateknolojiYazılım ve ProgramlamaFonksiyon Nedir?
💻
Teknoloji · Konu Anlatımı

Programlamada Fonksiyon Nedir? Tanımlama, Parametre ve Geri Dönüş

Programlamaya Giriş· Genel· 5 dk okuma· Son güncelleme: 27 Ağustos 2026
Öğreniyo İçerik Ekibi tarafından hazırlandı · Editör: Yusufhan Seyis
Bilgisayar ve Programlama yolunun 14/18. adımı· Yolu gör →
Kısaca

Fonksiyon, belirli bir işi yapmak üzere oluşturulan ve gerektiğinde tekrar çalıştırılabilen kod bloğudur. Girdi olarak parametre alabilir, bu girdileri işleyebilir ve sonuç olarak bir değer döndürebilir. Tanımlama ile çağırma arasındaki farkı bilmek, fonksiyon kullanımının temelidir.

Bu yazıda (5)

Programlamada fonksiyonlar, büyük bir programı daha küçük ve anlaşılır görevlere ayırmak için kullanılır. Bir fonksiyonun kodu tanımlanırken hazırlanır; işin gerçekten yapılması ise fonksiyon çağrıldığında gerçekleşir.

Fonksiyonun tanımı ve amacı

Fonksiyon, belirli bir görevi yerine getiren, adı olan ve ihtiyaç duyulduğunda çalıştırılabilen kod bloğudur. Bir fonksiyon dışarıdan veri alabilir, bu veriler üzerinde işlem yapabilir ve işlem sonucunu çağrıldığı yere aktarabilir. Böylece aynı işlemi programın farklı yerlerinde yeniden yazmak yerine tek bir yerde tanımlamak mümkün olur.

Fonksiyonun çalışma mantığı üç temel adıma dayanır: Fonksiyonun yapacağı işlem belirlenir, gerekirse dışarıdan girdiler alınır ve işlem tamamlandığında bir sonuç üretilir. Fonksiyon çağrıldığında program, fonksiyonun içindeki komutları belirtilen sırayla yürütür. Çağrı sırasında verilen veriler işleme katılır; sonuç döndürülüyorsa bu sonuç bir değişkende saklanabilir veya başka bir işlemde kullanılabilir.

Örneğin bir programda iki sayıyı toplama işlemi birçok kez gerekiyorsa, toplama işlemini yapan bir fonksiyon yazılabilir. Bu fonksiyon iki sayı alır, sayıları toplar ve toplamı döndürür. 3 ve 5 ile çağrıldığında 8, 10 ve 4 ile çağrıldığında 14 üretir. İşlemin kuralı aynı kaldığı için her kullanımda toplama kodunu baştan yazmaya gerek kalmaz.

Fonksiyonlar ayrıca görevlerin ayrıştırılmasına yardım eder. Bir alışveriş programında toplam tutarı hesaplayan, indirimi belirleyen ve ekrana mesaj gösteren işlemler ayrı fonksiyonlara dağıtılabilir. Her fonksiyon tek bir göreve odaklandığında kodun okunması, hatanın hangi bölümde olduğunun bulunması ve değişiklik yapılması kolaylaşır.

Fonksiyon tanımlama ve çağırma farkı

Fonksiyon tanımlamak, fonksiyonun adını, alabileceği girdileri ve çalıştıracağı komutları belirtmektir. Bu aşamada program, fonksiyonun hangi işi yapacağını öğrenir; ancak çoğu durumda işlem henüz gerçekleşmez. Fonksiyonu çağırmak ise tanımlanmış olan kod bloğunu belirli bir noktada çalıştırma komutudur.

Örneğin sözde kodla topla adlı bir fonksiyon tanımlandığında, içine iki sayıyı toplama komutları yazılır. Daha sonra topla(3, 5) ifadesi kullanılırsa fonksiyon çağrılmış olur ve fonksiyonun içindeki komutlar bu girdilerle yürütülür. Aynı fonksiyon topla(10, 4) şeklinde tekrar çağrılabilir. Tanımlama tarifin hazırlanması, çağırma ise tarif edilen işin uygulanmasıdır.

Fonksiyon sözdizimi programlama diline göre değişebilir; bazı diller blokları süslü parantezlerle, bazıları girintiyle belirtir. Fonksiyon tanımlamak için kullanılan anahtar kelime, parametre yazımı ve geri dönüş ifadesi de dilden dile farklılaşabilir. Belirli dillerdeki sözdizimi ayrıntıları ayrı bir konudur.

Parametreler ve argümanlar

Parametre, fonksiyon tanımlanırken belirtilen ve fonksiyonun dışarıdan alacağı veriyi temsil eden isimdir. Argüman ise fonksiyon çağrılırken bu parametreye gönderilen gerçek değerdir. Parametre, fonksiyonun kullanabileceği giriş alanını tanımlar; argüman, o giriş alanını belirli bir çağrıda doldurur.

Örneğin selamla(isim) şeklinde bir fonksiyon düşünelim. Buradaki isim parametredir. Fonksiyon selamla("Ayşe") biçiminde çağrıldığında, "Ayşe" argüman olur ve fonksiyonun içindeki işlem bu değer üzerinden yapılır. Aynı fonksiyon selamla("Mert") şeklinde çağrıldığında farklı bir argümanla çalışır. Böylece tek bir fonksiyon, farklı veriler için kullanılabilir.

Bir fonksiyon birden fazla parametre de alabilir. dikdortgen_alani(kisaKenar, uzunKenar) fonksiyonu iki kenar uzunluğunu alıp bunları çarparak alanı hesaplayabilir. Çağrı sırasında gönderilen değerlerin sırası ve beklenen veri türü, fonksiyonun doğru çalışması açısından önemlidir. Parametreler sayesinde fonksiyonun içindeki işlem sabit tek bir değere bağlı kalmaz; dışarıdan gelen verilere göre sonuç üretir.

Geri dönüş değeri ve çıktı

Geri dönüş değeri, fonksiyonun yaptığı işlemin sonucunu çağrıldığı yere göndermesidir. Fonksiyon bir hesaplama yaptıktan sonra sonucu döndürürse bu sonuç bir değişkene atanabilir, başka bir fonksiyona aktarılabilir veya bir koşul içinde kullanılabilir. Ekrana yazdırmak ise sonucu kullanıcıya göstermek anlamına gelir; geri döndürmekle aynı işlem değildir.

Örneğin kare(sayi) adlı fonksiyon, aldığı sayıyı kendisiyle çarpıp sonucu döndürebilir. sonuc = kare(6) çağrısında fonksiyon 36 değerini üretir ve bu değer sonuc değişkenine aktarılır. Daha sonra sonuc başka bir hesaplamada kullanılabilir. Fonksiyon yalnızca ekrana 36 yazdırsaydı, kullanıcı sonucu görür; ancak programın başka bir bölümünün bu değeri doğrudan kullanabilmesi için ayrıca bir geri dönüş değeri gerekirdi.

Her fonksiyon mutlaka anlamlı bir değer döndürmek zorunda değildir. Bazı fonksiyonlar bir dosyaya yazma, ekranda mesaj gösterme veya başka bir işlemi başlatma gibi bir işi yerine getirir. Bu tür durumlarda önemli olan, fonksiyonun çağrıldığında belirlenen işlemi yapmasıdır. Değer üreten fonksiyonlarda ise döndürülen sonuç, fonksiyonun dışındaki kodun işlemle iletişim kurmasını sağlar.

Yeniden kullanılabilirlik ve modülerlik

Yeniden kullanılabilirlik, bir fonksiyonun aynı kodu tekrar yazmadan birden fazla yerde çalıştırılabilmesidir. Modülerlik ise programın, her biri belirli bir görevi üstlenen daha küçük parçalardan oluşmasıdır. Fonksiyonlar bu iki özelliği birlikte sağlar: Ortak işlem bir kez yazılır ve programın farklı bölümleri bu işlemi çağırarak kullanır.

Örneğin bir okul uygulamasında öğrencinin not ortalamasını hesaplayan bir fonksiyon bulunabilir. Öğrenci listesi, rapor ekranı ve başarı durumu kontrolü aynı hesaplama fonksiyonunu kullanabilir. Ortalama hesaplama kuralı değişirse yalnızca fonksiyonun içi güncellenir; bu fonksiyonu çağıran bölümlerin her birini ayrı ayrı değiştirmek gerekmez. Böylece tekrar azalır ve bakım kolaylaşır.

Modüler bir programda her fonksiyonun sorumluluğu açıkça belirlenir. Bir fonksiyon veri doğrularken başka bir fonksiyon hesaplama yapabilir; her ikisi de kendi görevine odaklanır. Bu ayrım, bir parçayı tek başına denemeyi ve sorun çıktığında ilgili bölümü incelemeyi kolaylaştırır. Fonksiyonların içindeki değişkenlerin kapsamı da bu düzenle ilişkilidir: Yerel kapsam, bir fonksiyon içinde oluşturulan adların genellikle o fonksiyonla sınırlı kalmasını; dış kapsam ise fonksiyonun dışındaki erişilebilir alanı ifade eder.

Üst düzey fonksiyonlar ve fonksiyonel programlama, fonksiyonların daha ileri kullanım biçimlerini ele alan ayrı bir konudur. Özyinelemeli fonksiyonlarda ise bir fonksiyonun kendisini çağırması incelenir.

Günlük hayatta

Bir telefon uygulamasında para birimi dönüştürme işlemi, farklı ekranlarda tekrar tekrar kullanılabilir. Dönüştürme kuralı tek bir fonksiyonda tutulduğunda her ekran aynı işlemi çağırır ve kur değiştiğinde güncelleme tek noktadan yapılır.

Sınavda

Tanımlama ile çağırmayı karıştırmamak önemlidir: tanım fonksiyonun nasıl çalışacağını oluşturur, çağrı ise bu kodu çalıştırır. Parametre tanımda belirtilen giriş adıyken argüman çağrı sırasında gönderilen gerçek değerdir; geri dönüş değeri de ekrana yazdırılan çıktıdan farklı olarak program içinde kullanılabilen sonuçtur.

Sık sorulan sorular

Fonksiyon tanımlamak ile fonksiyonu çağırmak arasındaki fark nedir?

Tanımlama, fonksiyonun adını ve yapacağı işlemleri oluşturmaktır. Çağırma ise oluşturulan fonksiyonun belirli bir noktada çalıştırılmasıdır.

Parametre ve argüman aynı şey midir?

Aynı değildir. Parametre, fonksiyon tanımındaki giriş adıdır; argüman, fonksiyon çağrılırken bu girişe gönderilen gerçek değerdir.

Geri dönüş değeri ne işe yarar?

Fonksiyonun ürettiği sonucu çağrıldığı yere aktarır. Bu sonuç bir değişkende saklanabilir veya başka bir işlemde kullanılabilir.

Fonksiyonlar neden tekrar kullanılabilir kod sağlar?

Bir işlem yalnızca bir kez tanımlanır ve ihtiyaç duyulan farklı noktalarda çağrılır. Böylece aynı komutları tekrar tekrar yazmak gerekmez.

Kaynaklar
Sıradakiİnternet Nedir?

Bu konu şu silolarda da geçer: matematik