Introduction
Object-Oriented Programming (OOP) has been around since the 1960s and many popular programming languages utilize it, including Java, Ruby, and Python. Prior to OOP, developers typically followed the procedural programming style. Languages that utilize procedural programming processes run from the top of the code file to the bottom. Eventually, developers started wanting to wrap entire processes and data so that they could be called from different parts of a program at different times. And that's how OOP was born.
From a high-level perspective, OOP allows programs to wrap data and behavior together to create complete systems. So, instead of programs running code from top to bottom, as with procedural programs, OOP programs allow you to create code blueprints and establish rules for how a program will run, and then you can call those blueprints from other parts of an application.
Don't worry if that doesn't make sense quite yet – we're going...