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


OOP (Object Oriented Programming) ya da Türkçe adıyla Nesne Yönelimli Programlama, programcıların işini oldukça kolaylaştıran ve programlamada tabiri caizse çığır açan bir teknolojidir. Boyutları artan ve daha da karmaşıklaşan yazılımların daha kolay ve kısa sürede geliştirilmesi için nesneye yönelik programlama kullanılmaya başlanmıştır.

Nesne yönelimli programlamadan önce yazılımcılar, binlerce koddan oluşan yazılımlarda, her kodu birçok kez tekrar yazmak zorunda kalıyorlar ve bu da oldukça uzun sürüyordu. Bu yüzden ürünler geliştirilirken ürünün yeni sürümündeki ufak değişiklikleri yapmak bile oldukça zaman alıyor ve yeni ürünün oluşturulması uzun sürüyordu. Artan yazılım boyutları ve karmaşıklıkla birlikte bunları azaltmak için nesne yönelimli programlama doğdu. Nesne yönelimli programlamada, program parça parça yazılır ve sonradan bir bütün haline getirilir. Bu sayede oluşturulan programda daha kolay bir şekilde değişiklikler yapılıp geliştirilebilir. Nesne yönelimli programlamada, nesneler tanımlanır ve bu nesneler ortak özelliklerine göre sınıflara ayrılır. Bu programlamada dört temel prensip vardır. Bunlar: kalıtım (inheritance), kapsülleme (encapsulation), soyutlama (abstraction) ve çok biçimlilik (polymorphism).
  1. Kalıtım (Inheritance): Bir sınıfın özelliklerini bir sonraki sınıfa aktarmasıdır. Bu sayede benzer sınıfları ayrı yazmak yerine ortak bir sınıf oluşturulur ve kod maliyeti azaltılır.
  2. Kapsülleme (Encapsulation): Bir nesnenin istenilen özelliklerinin saklanmasıdır. Bu sayede programı yazan kişi erişilmesini istemediği özellikleri saklayabilir.
  3. Çok Biçimlilik (Polymorphism): Birden fazla sınıfın ortak olarak kullanacağı bir komut olduğunda bu sınıflar bir taban sınıfın (base class) altında toplanır. Yani taban sınıfa alt sınıflar ekleyerek taban sınıf kolayca genişletilebilir.
  4. Soyutlama (Abstraction): Bir kod dizisinde bulunan sınıfların ortak özellikleri varsa ‘abstract class’ (soyut sınıf) kullanılır ve bu soyut sınıf, ortak özellikli sınıfların ‘base class’ı olur. Soyut sınıflar, diğer sınıflara, temel sınıf olmak için yazıldığından soyut sınıflardan nesne türetilmez.
Kısacası, nesne yönelimli programlama kullanılarak daha kısa sürede, daha sürdürülebilir ve daha kolay genişletilebilen programlar yazılabilir. Karmaşık sistemler daha basit hale geldiğinden yazılımcıların işi kolaylaşır ve alınan verim artar.

Yorumlar

Bu blogdaki popüler yayınlar

Interrupt (Kesme) Nedir? Interrupt Çeşitleri Nelerdir?

Shell Nedir? C99 ve R57 Nedir?

Cache (Önbellek) Nedir? Nasıl Çalışır? Cache Bellek Kullanımının Amacı Nedir?