Features of OOP
- information hiding:
- state, autonomous behavior
- data abstraction:
- emphasis on what rather than how
- dynamic binding:
- binding at runtime, polymorphism \nop{, virtual functions}
- inheritance:
- incremental changes (specialization), reusability