= systém je dekomponován na objekty, které mezi sebou komunikují, každý objekt si nese vlastní data a metody, které realizují zodpovědnost za vykonání nějaké funkcionality

  • objekty se vytvářejí podle šablon = tříd
    • třída definuje metadata objektů, signatury + implementace metod a konstruktory sloužící pro vytvoření třídy
    • objekt = instance třídy
  • dodržují se zásady objektového návrhu - OOP