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).
- 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.
- Kapsülleme (Encapsulation): Bir nesnenin istenilen özelliklerinin saklanmasıdır. Bu sayede programı yazan kişi erişilmesini istemediği özellikleri saklayabilir.
- Ç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.
- 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
Yorum Gönder