Object-Oriented Programming
Original Definition
- divide the program state into small parts that communicate via messages
Modern Definition
- no consensus, but usually includes features like
- dynamic dispatch
- subtyping
- encapsulated state
- inheritance
- open recursion