Object Oriented Programming ( Nesne Yönelimli Programlama ) Nedir?

Object Oriented Programming ( Nesne Yönelimli Programlama ) Nedir?

Object Oriented Programming ( Nesne Yönelimli Programlama ) Nedir?

Bu yazımda sizlere Nesne Yönelimli Programlama hakkında bilgiler vermeye çalışacağım. Yazının içerisinde Object Oriented Programming ya da Nesne Yönelimli Programlama değil kısaca OOP diyeceğim.

OOP, özetlemek gerekirse bir programlama yaklaşımı diyebiliriz. Bu yaklaşım günümüzde birçok programlama dili tarafından desteklenmedir. 1960’lı yıllarında sonunda ortaya çıkan bu programlama yaklaşımı, o dönemlerde yazılım dünyasında oluşan bir bunalımın sonucudur.

Nesne Yönelimli Programlama başlamadan evvel ilk olarak Nesne dediğimiz şeylere bir göz atalım. Çevremizde bulunan masa, sandalye, bardak hatta cebimizde bulunan cep telefonları bile birer nesnedir. Okumuş olduğum bir yazıda “Nesne tanımlanmaya ihtiyaç duyan ancak tanımlanarak var olan bir olgudur” denmekteydi. Evet OOP yaklaşımı ile program geliştirirken kullanacağımız hemen hemen her şeye “Nesne” diyeceğiz.

Daha iyi anlaşılması için örnek vermek gerekirse; Masanın üzerinde 2 farklı modelde cep telefonu düşünün. Bir tanesi akıllı cihaz internete girebiliyor, diğeri ise eski model bir telefon olsun sadece arama yapabiliyor. İlk bakışta ikisi de birer nesnedir ve ikisinin de adı cep telefonudur. Bu yüzden programlama yaparken cep telefonu nesnesi diye adlandırabiliriz.

Fakat biz cep telefonu nesnesi ile internete girmek istediğimizde bu iki nesneyi birbirinden ayırmamız gerekmektedir. Bu yüzden nesneleri özelliklerine göre birbirlerinden ayırmamız gerekir. OOP yaklaşımı ile bu mümkündür nesnelere özellikler tanımlarız ve kullanacağımız nesneye o şekilde ulaşabiliriz.

Gerçek dünyada olduğu gibi iki adet nesne hiçbir zaman uzay ve zaman boşluğunda aynı yerde olamayacağı gibi Nesne Yönelimli Programlama yaklaşımıyla da bu mümkün değildir.

OOP, kısaca yaşamız olduğumuz dünya kurallarının programlama yaparken kullanılmasıdır.

Nesneler birbirlerinden özellikleri sayesinde ayrılırlar. Tüm özellikleri aynı olsa bile her bir nesne diğerinden farklı bir şekilde var olur. 2 adet aynı marka ve model cep telefonu düşünün. İkisi de birbirinden ayrı birer nesnedir öyle değil mi? İkisinin de gerçek dünyadaki kapladığı yer bir birinden farklıdır.

Nesne Yönelimli Programlama yaparken en çok kullanacağımız Object ( Nesne ) tipi Class olacaktır.

Nesne Yönelimli Programlama yapabilmek için 4 temel prensibi yerine getirmek mecburidir. Bu prensipler şunlardır;

  • Encapsulation
  • Inheritance
  • Polymorphism
  • Abstraction

Tabi ki de OOP bu kadar yüzeysel anlatılacak bir yaklaşım değildir işin içine girdikçe ne kadar detaylı ve ne kadar esnek olduğunu hep birlikte göreceğiz.

Yukarıda bulunan prensipleri ayrı ayrı bir makale olarak düşündüğüm için makalemi burada sonlandırıyorum. Umarım Nesne Yönelimli Programlama hakkında ön bir bilgi sahibi olmuşsunuzdur ve bu programlama yaklaşımın ne kadar detaylı ve kullanışlı olduğunu anlamışsınızdır.

Ali Ekrem DİNKÇİOĞLU

I like coding, but I'm looking for the best code ...

Kodlamayı seviyorum ama en iyi kodu arıyorum...