Object-Oriented Programming (OOP) is an essential skills required in software development project. This book introduces the core concepts of OOP including inheritance, polymorphism and encapsulation. It also explains the abstraction concept using interface class. It demonstrates the understand of the OOP principles by examples through the use of Unified Modelling Language (UML) and implements the solution using Java programming language.