Object-oriented programming is a type of programming that uses abstract classes to represent everything (car as an example). These classes have attributes (model, colour, etc.) and methods (accelerate, break) that are universal for the class. Objects are specific instances of these classes (a blue 2010 Honda Civic). We can think of these objects as individual manifestations of the abstract class.