Object Oriented Programming Object-Oriented Programming (OOP) is a programming paradigm based on the concept of “objects”, which can contain data, in the form of fields (often known as attributes or properties), and code, in the form of procedures (often known as methods). Content List Core Principles Classes and their objects Class relationships OOP Complementary Topics Design Principles The SOLID principles Unified Modeling Language (UML) Law of Demeter High Cohesion / Low Coupling