Object oriented programming makes code easier to write and maintain by allowing code to be written once and reused without repetition. All things in object oriented programming are represented as objects that have attributes and actions (methods). Classes define the attributes and actions for objects and act as blueprints from which individual objects are created.