Companion Object di Kotlin

Bagus Aji Santoso
Sep 2 · 2 min read

Diterjemahkan dari Companion object in Kotlin oleh MindOrks.

Di dalam sebuah bahasa pemrograman berorientasi objek, saat kita ingin memanggil method atau member suatu kelas, maka kita perlu menginisiasi kelas tersebut ke dalam suatu objek. Contohnya dalam Kotlin adalah sebagai berikut:

Pada contoh di atas, kita memanggil method callMe() milik kelas ToBeCalled dengan membuat objek dari kelas ToBeCalled bernama obj.

Keyword static

Dalam beberapa bahasa seperti Java dan C#, kita menggunakan keyword static untuk mendeklarasi member dari suatu kelas agar bisa memanggilnya tanpa melalui sebuah objek. Jadi, untuk memanggil sebuah method bernama myMethod() di dalam kelas bernamaMyClass, maka pemanggilannya adalah sebagai berikut:

Tapi, dapatkan kita melakukan hal yang sama di Kotlin? Jawabannya adalah bisa, tapi dengan cara yang berbeda. Tidak ada keyword static di Kotlin, sehingga cara yang dapat dilakukan ialah menggunakan yang namanya companion object. Mari kita lihat bagaimana menggunakannya.

Companion object

Di Kotlin, jika ingin menulis sebuah fungsi atau member variabel di suatu kelas agar bisa dipanggil tanpa melalui sebuah objek, kita dapat melakukannya dengan menulis member atau method tersebut di dalam companion object suatu kelas. Jadi, dengan mendeklarasikan companion object, kita bisa mengakses member dari suatu kelas tanpa melalui objek.

Menulis sebuah companion object dapat dilakukan dengan menggunakan keyword companion object diikuti dengan namanya.

Kita tidak wajib memberikan nama bagi sebuah companion object sehingga penulisan di atas bisa disederhanakan menjadi:

Untuk memanggil method atau member variabel yang dideklarasikan di dalam companion object adalah sebagai berikut:

Output dari kode di atas adalah “You are calling me :) ”.

Untuk lebih memahami alur kodenya, silahkan lihat contoh kelas Singleton berikut:

Untuk memanggil someMethod(), tuliskan kode di bawah:

Jika companion object yang ditulis memiliki nama, maka ganti kata kunci Companion dengan nama companion object-nya.

Semoga artikel ini bermanfaat.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade