오늘은 Kotlin의 Companion Object 에 대해서 알아보려고 한다.
간단하게 설명하자면 Companion Object는 저번 글에서 설명했던 Java의 static 같은 역할을 한다.
하지만 정확하게 어떻게 사용되고 어떤 역할을 하는지에 대해 알아보자.
Companion Object 는 다음과 같이 사용된다.
class Member {
companion object {
val name = "BB_GG"
fun method() = "BB_GG입니다."
}
}
static 과 같은 역할을 한다고 했지만 모습은 매우 다른 모습인걸 알 수있다.
아무튼 위와 같이 companion object를 통해 name을 선언하면 다음과 같이 이용할 수 있다.
fun main(args: Array<String>) {
val member = Member()
println("name: " + member.Companion.name)
println("method: " + member.Companion.method())
}
다음과 같이 외부에서 사용할 수 있다는 점이 비슷하기에 static 처럼 사용된다는 것 같다.
Companion object 에는 기본적으로 Companinon 이라는 이름이 들어가 있기에 member.Companion 과 같이 찾아올 수 있다.
다른 이름으로 바꿔서 사용한다면 이름짓기에 있어서 매우 유용할 것 같다는 생각도 들었다.
하나의 객체라고 생각하면 좋을 것 같은 문법이라고 생각한다.
비슷한 느낌의 구문을 생각하자면 마치 C언어의 구조체랑도 비슷하다고도 생각이 든다.
'언어 > Kotlin' 카테고리의 다른 글
[Kotlin] Null 처리(!!, ?) (0) | 2022.03.20 |
---|