Nesne Yönelimli Programlama Nedir?
İngilizce: Object-Oriented Programming
Yayın: · Son güncelleme:
Nesne Yönelimli Programlama Nedir? Kısaca
Nesne yönelimli programlama (OOP), yazılımı veri ve bu veri üzerinde çalışan davranışları bir arada tutan nesneler etrafında düzenleyen programlama yaklaşımıdır. Kapsülleme, kalıtım, çok biçimlilik ve soyutlama temel ilkeleridir.

Nesne yönelimli programlama nedir?
Nesne yönelimli programlama, kodu gerçek dünyadaki varlıklara benzeyen nesneler üzerinden kurgulayan bir yaklaşımdır. Bir e-ticaret sitesinde "Müşteri", "Ürün" ve "Sipariş" birer nesne türü olabilir. Her biri kendi verisini (ad, fiyat, tarih) ve kendi davranışlarını (sepete ekle, iptal et) içinde taşır.
Kısaltması OOP'dir (Object-Oriented Programming). Java, C#, Python, C++ ve Kotlin bu yaklaşımı destekleyen yaygın dillerdir.
Dört temel ilke
OOP genellikle dört kavramla anlatılır:
| İlke | Kısa anlamı |
|---|---|
| Kapsülleme | Veriyi korumak, dışarıya yalnız gerekli kısmı açmak |
| Kalıtım | Bir sınıfın başka bir sınıftan özellik devralması |
| Çok biçimlilik | Aynı komutun farklı nesnelerde farklı çalışması |
| Soyutlama | Karmaşık ayrıntıları gizleyip sade bir arayüz sunmak |
Bir örnekle bağlayalım. Odeme adlı genel bir sınıf, KrediKarti ve Havale alt sınıflarına temel olur (kalıtım). İkisinin de ode() metodu vardır ama farklı çalışır (çok biçimlilik). Kart numarası dışarıdan doğrudan değiştirilemez (kapsülleme).
Avantajları ve sınırları
OOP, büyük projelerde kodu parçalara ayırmayı, tekrar kullanmayı ve ekip içinde iş bölümünü kolaylaştırır. Yeni bir ödeme yöntemi eklemek, mevcut kodu bozmadan yeni bir alt sınıf yazmakla mümkün olabilir.
Her iş için en iyi seçim değildir ama. Küçük bir betik için sınıflar kurmak gereksiz karmaşıklık yaratır, derin kalıtım zincirleri de kodu takip etmeyi zorlaştırır. Öğrenmeye başlarken önce tek bir sınıf ve iki nesneyle küçük bir örnek, örneğin bir banka hesabı modeli yazmayı deneyin.
Sıkça Sorulan Sorular
OOP ne demek?
OOP, Object-Oriented Programming ifadesinin kısaltmasıdır ve Türkçede nesne yönelimli programlama olarak karşılanır. Kodun sınıf ve nesneler etrafında düzenlenmesini anlatır.
Python nesne yönelimli bir dil mi?
Python nesne yönelimli programlamayı tam olarak destekler ve içindeki her değer bir nesnedir. Bununla birlikte prosedürel ve fonksiyonel tarzda kod yazmaya da izin verir.