Nesne yönelimli programlama (OOP), veri ve yöntemleri temsil etmek için "nesneler" fikrini kullanan bir bilgisayar programı yazma yoludur. Genellikle bilgisayar programları, bilgisayara belirli şeyleri belirli bir şekilde yapmasını söyleyen ve prosedürel programlama olarak adlandırılan bir talimat listesinden ibaretti. Ancak nesne yönelimli programlamada, bilgisayar programları birbirleriyle konuşan nesnelerden yararlanır ve kullanıcının istediği şekilde çalışmak için bu nesnelerdeki verileri değiştirir. Ayrıca, nesne yönelimli programlamanın tasarlanma şekli nedeniyle, kodun programın diğer bölümleri ve hatta diğer insanlar tarafından kolayca yeniden kullanılmasına izin vererek geliştiriciye yardımcı olur.
Çoğu programlama dili, bilgisayar programları yazmanın farklı yollarının bir karışımıdır. Örneğin, Python bilgisayar programlarının hem nesne yönelimli programlama hem de prosedürel programlama ile yazılmasına izin verir. OOP'de bilgisayar programları yazmanıza izin veren birçok programlama dili vardır, Bu programlama dillerinden bazıları, örneğin: C++, Java, Ruby, Perl, Emarald, Sapphire, PHP, Python, vb.