Nesne yönelimli programlama (OOP) Nedir ?
OOP’ın Açılımı Nesne yönelimli programlama (NYP), (İngilizce: Object – Oriented Programming)(OOP), Her işlevin nesneler olarak soyutlandığı bir programlama yaklaşımıdır. Ayrıca NYP’yi destekleyen programlama dilleri yüksek seviye diller olarak adlandırılır.
OOP Nedir, Neden Kullanılır?
1960’lı yılların sonuna doğru ortaya çıkan NYP, OOP 1960’lı yıllarda yazılım dünyasının yaşadığı boyutlandırma sorunu sonrasında ortaya çıkmıştır. . Yazılımların artmaya başladığı bu dönemde belli bir nitelik düzeyini organize etmek için gereken bakımın maliyeti zaman ve çaba olarak daha da hızlı artıyordu. NYP’yi bu soruna karşı bir çözüm haline getiren başlıca özelliği, yazılımda birimselliği (modularity) benimsemesidir. NYP ayrıca, bilgi gizleme (information hiding), veri soyutlama (data abstraction), çok biçimlilik (polymorphism) ve kalıtım (inheritance) gibi yazılımın bakımını ve aynı yazılım üzerinde birden fazla kişinin çalışmasını kolaylaştıran kavramları da yazılım literatürüne kazandırmıştır.
OOP ile nesne oluşturma bir sınıf içerisinde oluşturulur ve böylelikle tüm projelerde kullanılabilmektedir. Bu sayede sınıflar 1 kez oluşturulur ve uzun kodların tekrardan yazılmasına gerek olmaz. Son olarak Nesneler birbirinden bağımsız olduğundan bilgi gizliliği konusunda avantaj sağlar.
En yaygın OOP dillerinden bazıları
”Python .C++. Objective-C .Smalltalk. Delphi. Java. Swift. C#. Perl .Ruby ve Php” dir.
Nesne Yönelimli Programlamanın Özellikleri Nelerdir?
NYP teorisinde 4 temel özelliğin gerçekleştirilmesi zorunlu sayılmıştır ve biri bile eksik ise bu dil saf NYP sayılmamıştır. Bunlar:
Soyutlama (Abstraction)
Karmaşıklığı yönetmek için kullanılır. Nesnenin diğer tüm nesne türlerinden ayıran temel özelliklerini belirtir, böylece izleyicinin bakış açısından açıkça tanımlanmış bir kavramsal sınır sağlar. Nesne yönelimli programlamada, ayırma, ayrıntıları tanımlamaktan ziyade sınıflar veya yöntemler için temel görevleri tanımlamak anlamına gelir. Temel olarak, problemi çözmek için kullanılan yöntem öncelikle daha genel, daha basit ve soyut olmalıdır.
Kapsülleme (Encapsulation)
Encapsulation, kapsülleme anlamına gelir.Bu sistem kod ile datayı birbirine entegre eden bir mekanizmadır. Encapsulation (Kapsülleme), nesne yönelimli olan programlamada yer alan herhangi bir nesnenin yöntemlerini, değişkenlerini ve özelliklerini diğer nesnelerden saklayarak, bunlara erişimini sınırlandırır. Bunun sonucunda ise yanlış kullanımlardan koruyan farklı bir konsepttir.
Miras Alma (Inheritance)
Bir nesnenin özelliklerinin farklı nesneler tarafından da kullanılabilmesine olanak sağlayan OOP özelliğidir. Yazılan bir sınıf bir başka sınıf tarafından miras alınabilir. Bu işlem yapıldığı zaman temel alınan sınıfın tüm özellikleri yeni sınıfa aktarılır.
Çok Biçimlilik (Polymorphism)
Nesne yönelimli programlama dillerinde çok biçimlilik özelliği ise aynı temel sınıftan türetilmiş olan sınıflarda paylaşılan, başka bir ifadeyle aşırı yüklenen aynı metodun bu sınıflarda farklı şekillerde uyarlanabilmesidir.
Çok biçimliliğin amacı, genel bir sınıf belirtip aynı arayüzü kullanarak oluşabilecek karmaşıklığı azaltmaktır. Bir metodun farklı nesnelerde veya farklı ortamlarda farklı sonuçlar üretmesidir.
örnek vermemiz gerekirse; bir kişinin birden fazla görevi yapması, misal erkek olan biri, bir koca, bir çalışan veya bir baba olabilir.
Bu nedenle, geliştiriciler, sınıflar ve ilişkileri açısından akıl yürütmeleri daha kolay olduğundan, karmaşık programlar oluşturmaları gerektiğinde genellikle OOP‘yi bir araç olarak kullanırlar.
Detaylı bilgi için buraya tıklayabilirsiniz.
Eğer yazılım alanında kariyerinize sağlam bi yatırım yapmak istiyorsanız OOP tekniğini kullanmak rakiplerinize karşı sizleri bi kaç sıfır öne geçirebilir.