In OOP, your code does not have to be “atomized” into smaller units. That decision is entirely up to you. Traditional OOP education may have taught you this, but you are free to use OOP in any fashion you like. In that case, my class is not conceptually any different from your procedural module.

Your module’s internal “data types” can be factored out into their own classes as well, making them public to other modules (classes). Again, you are not constrained by the OOP paradigm.

At the end of the day, OOP is simply an organizational layer on top of procedural. Even in a language such as Smalltalk, which is purely and consistently OO, you can program procedurally, or in OO fashion, or even in FP fashion using blocks and closures! I imagine the same holds true for Java 8.

An OOP language, esp. Smalltalk, gives you the flexibility and the option to decompose your problem into classes if appropriate. In that sense, OOP is neither bad nor evil; it is just another tool in your toolbox.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store