The article was initially published at cchacin.github.io
UPDATE: Editorial changes to improve the readability, thanks to
UPDATE 2019–12–19: Editorial changes to improve the readability.
Java is an object-oriented language with some functional aspects included in its core. Like any other object-oriented language, classes and objects are the foundations of any functionality that we can write and use. The relationships between the classes/objects make it possible to extend and reuse functionality. …