Kotlin Companion Object 완전정복

✨ 개요

Kotlin을 사용하다 보면 companion object라는 특이한 문법을 자주 접하게 됩니다. 자바의 static과 유사하지만, Kotlin만의 방식으로 풀어낸 이 기능을 제대로 이해하면 코틀린 코드가 훨씬 더 깔끔하고 유연해집니다.


1. 🧩 Companion Object란?

class MyClass {
    companion object {
        const val VERSION = "1.0"

        fun create(): MyClass {
            return MyClass()
        }
    }
}

fun main() {
    println(MyClass.VERSION)       // 1.0
    val obj = MyClass.create()     // static처럼 호출
}

2. ⚙️ 사용하는 이유


3. 🧪 자바와 비교

기능 Java Kotlin
정적 필드 static final int x = 10; companion object { const val x = 10 }
정적 메서드 static void print() companion object { fun print() }
클래스 로더 당 1개 O O
인스턴스 없이 접근 가능 O O

4. 🧾 다양한 예시


5. 🧾 결론

companion object는 Kotlin에서 정적 멤버를 선언할 수 있는 유일한 방법입니다. 상수 관리, 팩토리 메서드 정의, 유틸 함수 구성에 매우 유용하며, Java와의 상호운용에서도 중요한 역할을 합니다. Kotlin을 사용하는 개발자라면 반드시 숙지하고 능숙하게 활용할 수 있어야 합니다.



Related Posts