Nedir Bu OOP (Object-Oriented Programming) ?
Nesne Yönelimli Programlama(OOP) mantıksa 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ıralım mesela. Sandalyeyi ele alalım. Amaç üzerine oturmak ve 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 bu özellikleri 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.

Peki bu yöntem bize nasıl kolaylıklar sağlıyor?
En başta yukarıda belirttiğim gibi kod tekrarına düşmüyoruz. 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.
Peki hangi dillerde bu teknoloji mevcut?
C#
C++
Java
Python
PHP
Delphi
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. Eğer programlama üzerine bir kariyer düşünüyorsanız bu programlama modeline sahip programlama dilleri hakkında bilgiye sahip olmanızı tavsiye ederim.
KAYNAK: https://www.mistikgundem.com/2022/06...ama-nedir.html