Scopul principal al programarii orientate pe obiecte este de a permite programatorilor sa creeze obiecte care contin date si functionalitati, astfel incat acestea sa poata fi manipulate si reutilizate in diferite parti ale aplicatiilor. Aceasta tehnologie faciliteaza conceptele de abstractizare, incapsulare, mostenire si polimorfism, care ajuta la crearea de cod modular, mai usor de inteles si de intretinut.