Using the object-oriented programming paradigm, programmers use classes to define objects to model the problem to be solved.
Object-oriented programming (OOP) involves modulardesign, making it easy for teams of developers to work together.
The four main principles of the OOP paradigm are encapsulation, abstraction, inheritance, and polymorphism.
Encapsulation allows us to hide implementation details from other parts of our code.
Abstraction refers to the fact that the complexities of how the object works are hidden.
Inheritance refers to the fact that subclasses can inherit properties and methods from one or more parent classes.
Polymorphism refers to the ability of an object to take on many different forms; specifically for a method with the same name to have many different implementations.