Okay, so by the late 1980s, the
software industry was beginning to get seriously bogged down
by spaghettification and was looking for some real
answers.
Enter Object Oriented Programming
(OOP)
OOP was built to help manage the
complexification of software through abstraction. In OOP,
you build small, self-contained bits of code which correspond
more closely to how you think about your program and how your
program mirrors the real world.
OOP provides abstraction through
four foundation concepts:
- Objects
- Encapsulation
- Inheritance
- Polymorphism
Let's look at each of these
concepts...