I am not sure I know what is the essence of OOP and what is not. Is it essentially just this - being able to represent everything as fields and methods, ie encapsulation ?
http://en.wikipedia.org/wiki/Object-oriented_programming Wikipedia says that OOP is also about
polymorphism, Inheritance etc. But, are those things the essence of OOP or peripheral features ?