Extension Functions: Syntax and Behavior

Extension functions & properties, what they are under the hood, and the consequences for encapsulation, visibility modifiers, the way they are dispatched, and more

Gabriel Shanahan
The Kotlin Primer

--

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

THE CURRENT VERSION OF THIS ARTICLE IS PUBLISHED HERE.

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

Tags: #FUNDAMENTAL CONCEPT

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.

Types of Extensions

There are actually two types of extensions in Kotlin — extension functions and extension properties.

As seen in the previous article, extension functions are defined in the same way as regular functions, with the receiver prepended…

--

--