Programarea Orientata pe Obiecte este o paradigma de programare care foloseste concepte abstracte (sub forma de clase si obiecte) pentru a crea modele bazate pe elemente din lumea reala. O aplicatie construita pe programare orientata pe obiecte foloseste mai multe obiecte care comunica prin mesaje specifice pentru a rezolva diverse servicii (ale aplicatiei) solicitate