Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.


Object Oriented Programming with Kotlin

via Pluralsight


The Kotlin designers took the experience of Java and used it to make Kotlin a better OO language. For example, classes are 'public' and 'final' by default. This course shows you how to use such Kotlin features to create better objected oriented code.

Kotlin is a more modern version of Java. Being Java like, Kotlin has a strong Object Oriented foundation and builds on that foundation to offer features that are not found in Java. In this course, Object Oriented Programming with Kotlin 1, you will learn how to exploit those features to build object oriented applications. First, you will cover the basics such as defining classes in Kotlin, abstract base classes and interfaces. You will look at class derivation and the fact that Kotlin classes are ‘closed’ by default. Next, you will explore Kotlin’s construction mechanism and the fact that In Kotlin, classes have a single ‘primary’ constructor but can also have ‘secondary’ constructors, although you will see why these are not often necessary. You will also look at what you can do if a class requires more complex construction. Finally, you will discover how Kotlin supports ‘Nested’ and ‘Inner’ classes and also anonymous inner classes and see why these are important and where they might be used. Kotlin also provides ‘Data Classes’ that are used as ‘DTOs’, they provide automatic support for ‘hashCode’ and ‘equals’ methods so make them easy to use in containers such as collections. Kotlin does not have the concept of ‘static’ methods, but instead has ‘companion’ objects, these are Singletons and you will see where and how to use these in your code. Kotlin classes can also be generic. You will be introduced to the idea of generic types and be shown how they are used in your code. By the end of this course, you will be able to write small snippets of sample code to demonstrate the topics covered, and also have the knowledge required to write a complete application, bringing together the material to show how to apply object oriented techniques in practice.


  • Course Overview 1min
  • Building Classes in Kotlin 26mins
  • Using Constructors for Initialization 18mins
  • Understanding Derivation 16mins
  • Providing Abstraction with Abstract Classes and Interfaces 25mins
  • Bringing It All Together 41mins
  • Understand Generics: Kotlin's Improved Generic Support 35mins
  • The Lack of Statics and How Kotlin Overcomes That with Companion Objects 5mins
  • Using Data Classes for DTOs 8mins

Taught by

Kevin Jones


3.7 rating at Pluralsight based on 23 ratings

Start your review of Object Oriented Programming with Kotlin

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.