Introduction
Object-Oriented Programming (OOP) encourages us to model real-world objects in code. And the thing with objects is that some share outward appearances. Also, a group of them may display similar behavior.
Java is an excellent language to cater to OOP. It allows objects to inherit the common characteristics of