Object-oriented programming (OOP) is a way of organizing software around objects: self-contained units that bundle together data and the operations that act on that data. Instead of writing a program as a long sequence of instructions that manipulate loose variables, an object-oriented programmer models the problem as a collection of interacting objects, each responsible for a well-defined part of the system. This lesson introduces the core vocabulary of OOP and the single most important distinction in the whole topic: the difference between a class and an object.
A class is a template or blueprint that defines what a certain kind of object looks like and what it can do. The class does not itself hold live data for a particular thing; it describes the structure that e