what is oop?
it has a few different aspects:
- the association of methods with data structure definitions, so that the data structure can be changed without changing the interface it presents; so you deal with classes (or, if you dont also want the inheritance, interfaces) instead of types
- strict encapsulation, e.g. private members and methods
- inheritance of code
- encapsulation of persistant state (structs)