Object-oriented programming
Object-oriented programming (OOP) is a programming paradigm utilizing "objects" - generally instances of a class - comprising of data fields and methods along with their interactions - to make applications and computer programs. Programming techniques may involve features like data abstraction, polymorphism, encapsulation, modularity, messaging, and inheritance. Various modern programming languages currently support forms of OOP, at least as a choice.