Object-Oriented Programming
What is it?
Dividing a program into pieces called objects
Each object handles specific parts of the program
An object can be "instanced" as many times as needed