Characteristics of OOP
An object-oriented program has four fundamental characteristics:
- Abstraction defines new data types
- Encapsulation designs a data type's representation and its behavior in
one encapsulated entity.
- Inheritance derives a new data type from an existing one.
- Polymorphism customizes the behavior of a derived data type, a function,
or an operator.
Some authors combine the first and second of these characteristics,
resulting in only three fundamental characteristics.