Nesne yönelimli programlama, günümüz yazılım geliştirme uygulamalarında sıklıkla tercih edilen bir programlama dili modelidir. Yazılım tasarımını nesneler ve sınıflar üzerinde düzenleyen bir modeldir. Yaşanan teknolojik sorunlar ve ihtiyaçlar neticesinde 1960’lı yılların başında ortaya çıkmıştır.
Nesne yönelimli programlamada, her birinin kendi özellik ve davranışa sahip olduğu veri yapıları ve nesneler tanımlanmaktadır. Birbirleriyle etkileşime geçen nesneler kullanılarak yazılımlar tasarlanmıştır. Bu nesnelerin her biri de kendi özel metot ve prosedürlerini içerebilmektedir.
Nesne yönelimli programlama, Doğal, güvenilir, yeniden kullanılabilir, sürdürülebilir, genişletilebilir ve zamandan tasarruf sağlamak olmak üzere toplam 6 öncelikli hedefe odaklanmıştır.