Skip to main content
Programlama

Nesne Yönelimli Programlama (OOP) Rehberi

Mart 15, 2026 3 dk okuma 9 views Raw
Nesne yönelimli programlama kod ekranı
İçindekiler

Nesne Yönelimli Programlama Nedir?

Nesne Yönelimli Programlama (Object-Oriented Programming - OOP), yazılım tasarımını gerçek dünyadaki nesneler etrafında organize eden bir programlama paradigmasıdır. OOP, verileri ve bu veriler üzerinde çalışan fonksiyonları bir arada tutan nesneler kavramına dayanır. Java, C#, Python, C++ ve Ruby gibi modern programlama dillerinin büyük çoğunluğu OOP'yi destekler.

OOP'nin Dört Temel Prensibi

1. Kapsülleme (Encapsulation)

Kapsülleme, bir nesnenin iç durumunu dış dünyadan gizleyerek yalnızca tanımlı arayüzler üzerinden erişilmesini sağlar. Bu prensip, verinin korunmasını ve kontrolsüz değişikliklerin önlenmesini garanti eder.

  • Veri gizleme: Alanlar private olarak tanımlanır
  • Erişim metodları: Getter ve setter metodları kontrollü erişim sağlar
  • Doğrulama: Veri atanmadan önce geçerlilik kontrolü yapılabilir
  • Esneklik: İç yapı değiştirilse bile dış arayüz aynı kalır

2. Kalıtım (Inheritance)

Kalıtım, bir sınıfın başka bir sınıftan özellik ve davranış miras almasıdır. Üst sınıf (parent class) genel özellikleri tanımlarken, alt sınıf (child class) bunları özelleştirip genişletebilir.

Kalıtım TürüAçıklama
Tek kalıtımBir sınıf yalnızca bir üst sınıftan miras alır
Çoklu kalıtımBir sınıf birden fazla sınıftan miras alır (C++ destekler)
Çok seviyeli kalıtımBir sınıf zinciri oluşturur (A > B > C)
Hiyerarşik kalıtımBirden fazla sınıf aynı üst sınıftan miras alır

3. Çok Biçimlilik (Polymorphism)

Çok biçimlilik, aynı arayüz veya metodun farklı sınıflarda farklı biçimlerde davranmasını sağlar. İki ana türü vardır:

  • Derleme zamanı çok biçimlilik (method overloading): Aynı isimde farklı parametre listelerine sahip metodlar
  • Çalışma zamanı çok biçimlilik (method overriding): Alt sınıfın üst sınıfın metodunu yeniden tanımlaması

4. Soyutlama (Abstraction)

Soyutlama, karmaşık detayları gizleyerek yalnızca gerekli bilgileri sunan bir yaklaşımdır. Soyut sınıflar ve arayüzler (interface) aracılığıyla gerçekleştirilir. Kullanıcı, nesnenin nasıl çalıştığını değil, ne yaptığını bilir.

Sınıf ve Nesne

OOP'nin temel kavramları sınıf ve nesnedir:

  • Sınıf (Class): Nesnelerin şablonudur. Özellikler (attributes) ve davranışlar (methods) tanımlar
  • Nesne (Object): Sınıfın somut bir örneğidir. Bellekte yer kaplar ve duruma sahiptir

OOP Tasarım İlkeleri

İyi OOP kodu yazmak için şu ilkelere dikkat edilmelidir:

  1. Kalıtım yerine bileşimi tercih edin: "has-a" ilişkisi genellikle "is-a" ilişkisinden daha esnektir
  2. Arayüzlere programlayın: Somut sınıflara değil, soyutlamalara bağımlı olun
  3. SOLID prensiplerine uyun: Sürdürülebilir ve esnek tasarımlar için beş temel prensip
  4. Yüksek bağlılık, düşük bağımlılık: Sınıflar odaklı olmalı ve birbirlerine gevşek bağlanmalıdır
  5. Tell, Don't Ask: Nesnelerden veri istemek yerine, yapması gerekeni söyleyin

OOP ve Diğer Paradigmalar

OOP, tek programlama paradigması değildir. Modern yazılım geliştirmede genellikle farklı paradigmalar bir arada kullanılır:

ParadigmaOdak NoktasıDiller
OOPNesneler ve sınıflarJava, C#, Python
FonksiyonelFonksiyonlar ve değişmezlikHaskell, Elixir, F#
ProsedürelProsedürler ve adımlarC, Pascal
ReaktifVeri akışları ve değişikliklerRxJS, Reactor

OOP Kullanım Alanları

OOP, özellikle şu alanlarda güçlü çözümler sunar:

  • Kurumsal yazılım uygulamaları
  • Oyun geliştirme
  • Masaüstü uygulamalar
  • Web uygulamaları ve API'ler
  • Mobil uygulama geliştirme

Sonuç

Nesne yönelimli programlama, yazılım geliştirmenin temel taşlarından biridir. Ekolsoft olarak projelerimizde OOP prensiplerini titizlikle uygulayarak modüler, bakımı kolay ve ölçeklenebilir yazılımlar üretiyoruz. OOP'nin dört temel prensibini kavramak ve doğru tasarım ilkelerini benimsemek, her yazılım geliştiricinin profesyonel kariyerinde kritik bir adımdır.

Bu yazıyı paylaş