What is Object Oriented Programming?

I recently gossiped again about how formal education did not properly define topics such as OOP. So here's my attempt:

In OOP, you can define your own data types, called classes. A class can consist of some data structures and some code associated with the class. A variable whose type is a class is called an object. Thus objects logically tie some data to some code. Classes can contain objects of another class (has a), or classes can inherit from other classes (is a).