본문 바로가기
언어/Kotlin

코틀린 Companion

by 김어찐 2022. 5. 24.
728x90

java static 이다

package companion


//companion object 객체 생성하여 접근 불가능
fun main() {
    val obj1 = TestClass()
    println("obj1.a1 = ${obj1.a1}")
    obj1.testFun1()

    println("TestClass.a2 = ${TestClass.a2}")
    TestClass.testFun2()



}

class TestClass {
    var a1 = 100

    companion object{
        var a2 = 1000
        fun testFun2() {
            println("testFun2")
            // 멤버변수 사용 x
            //println("a1 = ${a1}")
        }
    }

    fun testFun1(){
        println("testFun1")
        println("a1 = ${a1}")
        // 멤버 함수에서는 companion object 사용 가능
        println("a2 = ${a2}")
    }
}
728x90

'언어 > Kotlin' 카테고리의 다른 글

코틀린 Generic  (0) 2022.05.25
코틀린 DataClass  (0) 2022.05.25
코틀린 지연 초기화  (0) 2022.05.24
코틀린 property  (0) 2022.05.24
코틀린 상속  (0) 2022.05.24