Programarea orientată pe obiecte (OOP) este un mod de a scrie programe de calculator care utilizează ideea de "obiecte" pentru a reprezenta date și metode. De obicei, programele de calculator erau doar o listă de instrucțiuni adresate computerului, care îi spuneau acestuia să facă anumite lucruri într-un anumit mod, ceea ce se numește programare procedurală. Cu toate acestea, în programarea orientată pe obiecte, programele de calculator folosesc obiecte care vorbesc între ele și care modifică datele din aceste obiecte, pentru a funcționa în modul dorit de utilizator. De asemenea, datorită modului în care este concepută programarea orientată pe obiecte, aceasta îl ajută pe dezvoltator, permițând reutilizarea cu ușurință a codului în alte părți ale programului sau chiar de către alte persoane.

Cele mai multe limbaje de programare sunt un amestec de diferite tipuri de moduri de a scrie programe de calculator. De exemplu, Python permite scrierea de programe de calculator atât în programare orientată pe obiecte, cât și în programare procedurală. Există multe limbaje de programare care permit scrierea programelor de calculator în OOP, Unele dintre aceste limbaje de programare sunt, de exemplu: C++, Java, Ruby, Ruby, Perl, Emarald, Sapphire, PHP, Python etc.