- **Abstraction** - hiding certain properties and methods from the outside; benefits are:
1. benefits: a simpler interface and
2. reducing the impact of change
- **Polymorphism** - poly (many); morph (form); benefits are:
- helps to avoid long if/else / switch case
- **Inheritance** - eliminates redundancy (keeps the code DRY)
- **Encapsulation** - grouping variables (properties) and the functions (methods) that operate on them together
1. reduces complexity and
2. increases reusability
___
**Tags**: #oop