Companion Objects

Companion objects in Kotlin, how they are misunderstood to replace the static keyword, and non-trivial examples of how to use them to your advantage

Gabriel Shanahan
The Kotlin Primer
Published in
5 min readSep 17, 2022

--

— — — — — — — — — — — — — — —

THE CURRENT VERSION OF THIS ARTICLE IS PUBLISHED HERE.

— — — — — — — — — — — — — — —

Tags: #KOTLIN FEATURE #EXERCISE

This article is part of the Kotlin Primer, an opinionated guide to the Kotlin language, which is indented to help facilitate Kotlin adoption inside Java-centric organizations. It was originally written as an organizational learning resource for Etnetera a.s. and I would like to express my sincere gratitude for their support.

It is recommended to read the Introduction before moving on. Check out the Table of Contents for all articles.

In Kotlin, a companion object is a special object which is bound to (i.e. is a part of) a class definition. It can be accessed using the name of the enclosing class.

--

--