Nesne Yönelimli Programlama (OOP), yazılım geliştirme sürecini nesneler üzerinden organize eden bir programlama paradigmasıdır. Bu yaklaşım, gerçek dünyadaki varlıkların dijital ortamda modellenmesini sağlar. Temelini dört ana prensip oluşturur: Kapsülleme, Kalıtım, Polimorfizm ve Soyutlama.
Veri ve fonksiyonların bir sınıf içinde gruplanarak dış etkilerden korunmasıdır. Örneğin bir araba sınıfında motor durumu private olarak tanımlanır, dışarıdan doğrudan erişim engellenir.
Mevcut sınıflardan yeni sınıflar türetmeye dayanır. 'Elektrikli Araba' sınıfı, 'Araba' sınıfının tüm özelliklerini miras alıp ek fonksiyonellik ekleyebilir.
Aynı metodun farklı sınıflarda farklı davranışlar göstermesidir. 'ÖdemeYap()' metodu nakit ve kredi kartı için farklı şekillerde çalışabilir.
Karmaşık sistemlerin yalnızca gerekli detaylarını sunar. Araba kullanırken motor içi detaylar yerine direksiyon ve pedallarla etkileşim kurarız.
Java, C++ ve Python gibi diller OOP'yi etkin şekilde desteklerken, modern JavaScript sürümleri de bu paradigmanın tüm olanaklarını sunmaktadır.