코틀린에는 자바와 같은 static 키워드가 없다.

 

그래서 companion object 라는 것을 사용하는데, 

 

object와의 차이점은 companion object가 해당 class가 로드될 때 같이 로드된다는 점이다.

object는 처음 로드될때 initialized lazily 된다는데, 정확한 차이는 조금 더 찾아봐야 할 것 같다.

( 참고 )

 

사용 방법

1
2
3
4
5
6
7
8
9
10
11
12
class myClass {
    companion object {
        val title = "myTitle"
        fun myFunction() {
            print("Hello World!")
        }
    }
}
 
 
print(myClass.title)
print(myClass.myFunction())
cs

 

클래스내 companion object는 딱 하나만 쓸 수 있다.

 

+ Recent posts