Nesne yönelimli programlama(OOP) nedir?

Osman Ordu
2 min readAug 1, 2022

Object Oriented Programming yani Nesne Yönelimli Programlama, her işlevin nesnel olarak soyutlandığı bir programlama şeklidir.

Bu açıklamayı daha da örnekleyerek açıklarsak, gerçek hayatta gördüğümüz birçok nesnenin bilgisayar ortamına aktarılma şeklidir. Yani bir nesnenin rengi, durumu, ismi, üretim yılı gibi birçok özelliklerin bilgisayar ortamında gösterilmesi buna örnek olarak verilebilir.

1960’lı yılların sonuna doğru ortaya çıkan bu programlama şekli, o dönemlerde yazılım dünyasının yaşadığı sıkıntının sonucudur.

Yazılımların karışıklığı ve boyutlarının artması, belirli bir nitelik düzeyini korumak için gereken maliyeti, zamanı ve çabayı arttırıyordu. OOP bu soruna karşı çözüm olarak getiren özelliği yazılımdaki birimselliği yüksek oranda benimsemesidir.

Nesne Yönelimli Programlamanın Faydaları

  • Nesne oluşturma bir sınıf içerisinde toplanır ve tüm projelerde kullanılabilirliğe olanak sağlar.
  • Sınıfların 1 kez oluşturulması sayesinde uzun kodları tekrardan yazmak yerine kısa kodlamalar ile çalıştırılabilir.
  • Uzun kodların tekrar yazılmasının engellenmesi sayesinde geliştirme süreci kısalır.
  • Nesneler birbirinden bağımsız olduğundan bilgi gizliliği konusunda avantaj sağlar.
  • Sınıflar sayesinde tüm projelerde değişiklik yapmak yerine tek bir sınıfta değişiklik yapılıp tüm projelerde çalışması sağlanır. Bu zaman kaybını büyük ölçüde azaltır.

Sınıf Nedir?

Değişkenleri ve methodları bir arada saklayan sistemdir.

Değişkenler kullanacağımız verileri örneğin ad, soyad, yaş gibi verileri saklar. Metotlar bu verilerin toplanması gibi görevleri sağlayan bir sistemdir.

Nesne Nedir?

Verileri saklayan ve bu veriler üzerinde işlem yapan metodları saklayan bileşenlerdir.

Nesne Yönelimli Programlamanın Özellikleri Nelerdir?

Sistemimizin birçok özelliği vardır. Bunları 4 temel özellikte inceleyebiliriz.

  • Soyutlama (Abstraction)
  • Kapsülleme (Encapsulation)
  • Miras Alma (Inheritance)
  • Çok Biçimlilik (Polymorphism)

Soyutlama (Abstraction)

Bir sınıfın özelliklerinin ve davranışlarının tanımlanmasına denir. Örneğin: Bir kişinin adı, soyadı, yaşı, boyu, kilosu, saç rengi gibi özellikleridir. Kişinin yetenekleri davranışları içerisinde yer alır ve metotlar ile saklanır.

Kapsülleme (Encapsulation)

Davranış ve özellikler sınıfta soyutlanır ve saklanır. Kapsülleme ile hangi özellik ve davranışın dışarıdan kullanılacağını belirleyebiliriz. Örneğin: Kişinin bizi ilgilendirmeyen kısımlarını private ederek yani saklayarak gizleyebiliriz. Bu olaya kapsülleme adı verilir.

  • Kapsülleme Public, Private ve Protected olarak 3 kısımda incelenir.
  • Public: Herkesin kullanabildiği özellik ve davranışlara verilen isimdir.
  • Private: Sadece kendi sınıfında kullanılan özellik ve davranışlara verilen isimdir.
  • Protected: Sınıf ve Miras Alınan alt sınıflarda kullanılmaya açık olanlara verilen isimdir.

Miras Alma

Alt ve üst sınıfın ortak özelliklerinden alabilme sistemine Miras Alma denir. Örneğin; Bir nesneni diğer bir nesne ile ortak özelliklerindeki verileri alabilir.

Çok Biçimlilik

Alt Sınıf ve Üst Sınıfın özelliklerinden farklı şekilde davranışlar göstermesine Çok Biçimlilik denir. Örneğin; Bir nesnenin diğer bir nesneyle ortak özellikleri olmasına rağmen farklı özelliklerininde tanımlanabilmesine denir.

Günümüzde çok çeşitli nesne tabanlı programlama dilleri olmasıyla beraber, en popüler diller sınıflar üzerine kurulmuşlardır (class-based). Bu dillerde nesneler sınıfların birer üyesidir ve nesnelerin tipini de bu sınıflar belirlerler.

--

--