Programarea orientată pe obiect este un stil de programare care este reciclabil și ușor de dezvoltat și de întreținut. Un singur obiect, creat dintr-o clasă sau un prototip, poate fi refolosit în mai multe scopuri. Un avantaj disponibil pentru programatorii orientați spre obiect este utilizarea încapsulării, care împiedică manipularea accidentală, permițând fixarea restricțiilor de acces pe părți ale unui obiect. Deoarece codul orientat pe obiecte este ușor de navigat, actualizările sunt mult mai rapide.
Obiectele au multe caracteristici care le fac relatabile activităților de zi cu zi. Obiectele efectuează acțiuni cunoscute ca metode. În funcție de cod, un obiect poate moșteni acțiuni și alte proprietăți dintr-o ierarhie a claselor sau prototipurilor din ce în ce mai abstracte. De exemplu: Un obiect pudel și un obiect bulldog ar putea moșteni atât capacitatea de a scoate din clasa câinilor. Clasa câinilor ar putea moșteni în continuare proprietăți din clasa mamiferelor și așa mai departe.
Programele bazate pe clasă și prototip sunt două tipuri de programare orientată pe obiecte. Un obiect în programare bazat pe clasă este creat din clasa sa, care este designul original al unui obiect codificat de dezvoltator. Obiectele din programarea bazată pe prototipuri sunt create direct de dezvoltator, iar duplicat obiectele sunt realizate din acest obiect prototip.
Deoarece programarea orientată pe obiecte este reciclabilă, un dezvoltator este capabil să ia codul dintr-un program și să îl plaseze cu ușurință într-un alt program, fără să se preocupe de schimbări majore.