Nesneye Yönelik Programlama (Object-Oriented Programming)
Nesne Yönelimli Programlama (OOP) mantıksal işlemler yerine, nesneler üzerine ve o nesneler üzerinde işlem yapmaya odaklanmış bir programlama modelidir. Etrafta gördüğümüz nesneleri düşünelim, bazı özellikleri ile birbirine benzeyen nesneler olduğu kaçınılmaz. Bu benzer özellikleri sınıflandırabiliriz. Sandalye örneğinden yola çıkabiliriz. Amaç, üzerine oturmak sandalyenin bazı temel özellikleri var. Örneğin, 4 tane ayağı olacak, oturmamız için bu ayaklar üzerinde bir zemini olacak gibi. Buna benzer özellikte başka nesneler de var. Mesela kamp sandalyesi kolumuzu koyacağımız yerlere sahiptir ya da kumaştan yapılır. Peki ya koltuklar? Onlar da ortalama 4 ayağa sahip ve kolumuzu sırtımızı yaslayabiliyoruz. İşte burada sınıflar (Class) yapısı devreye giriyor. Temel özellikleri aynı olsa da başka özellikleri ile ayrı bir nesne haline geliyor. Birbirine benzeyen her nesne için aynı kodları tekrar tekrar yazmak yerine bir sınıf (Class) oluştururuz ve diğer nesne için bu temel özellikleri kullanırız. Bu işleme ise miras alma (Inheritance) diyoruz. Başka bir nesne de olsa temelde bir sınıftan türüyor. O zaman baştan bu özellikleri yazmak yerine temel sınıftan miras alalım. Ve kod tekrarına düşmeyelim. Böylece hem hata ayıklamada kolaylık sağlamış oluruz hem de kod okunurluğunu artırırız.
Bu Yöntemin Sağladığı Kolaylıklar Nedir ?
En başta yukarıda yazıldığı gibi kod tekrarına düşmeyeceğiz. Aynı kodları tekrar yazarak zaman ve maliyet tasarrufu yapmış oluyoruz.
Ayrıca bu durum kod okunurluğunu da artırarak hata ayıklamada ve ekip arkadaşlarımızın koda müdahalede bulunmasında kolaylık sağlıyor. Yani spagetti kod (karışık kod) yazmanın önüne geçilmiş oluyor. Ayrıca programda bir değişiklik yapılmak istendiğinde her yerine müdahale etmek yerine sadece tek bir yere işlem yaparak programın stabil çalışmasına devam etmesi daha mümkün kılınıyor. Hem zamandan tasarruf hem de hata yapma riski daha düşük olmuş oluyor. Güvenlik kısmına gelirsek eğer, kodlarımız sadece bir yerde topluca yazılmadığı için programın bir çok kısmı her an görünmüyor olacak. Bu da güvenilirliği artırıyor.
Bu Teknoloji Hangi Dillerde Mevcut ?
- C#
- C++
- Java
- PHP
- Phyton
Gibi diller bu teknolojiye sahiptir ve bu diller “Yüksek Seviye Diller” olarak adlandırılır. Sonuç olarak, Bu teknoloji günümüzde programcılar tarafından mutlaka bilinmesi gereken ve işverenler tarafından kesinlikle bilinmesi istenilen teknolojiler arasındadır.