Object-oriented programming (OOP) is a very famous and widely used programming methodology. The Java programming language enables OOP with programming concepts such as classes, interfaces, abstraction, inheritance, polymorphism, encapsulation, and many more. The following sections will explain these concepts in Kotlin.