Kotlin에서는 하기와 같이 객체를 선언 할 수 있다.
object TestObject
{
var tempStr: String = ""
var tempInt: Int = 0
fun print()
{
println(tempStr)
println(tempInt)
}
}
fun main(args: Array<String>)
{
// 식별자 Person으로 객체에 바로 접근 가능
TestObject.tempStr = "Test Object"
TestObject.tempInt = 100
TestObject.print()
}
위의 예제와 같이 new로 생성하지 않고, java의 singletone을 사용하는 것과 같이 사용 할 수 있다.
동반자 객체는 클래스 안에 포함되는 이름 없는 객체를 뜻한다.
다시 말하면, kotlin에서는 static 키워드가 존재하지 않는다. 하지만 동반자 객체를 이용하면, class내에서 java의 static 과 같은 함수를 만들 수 있다.
예를 들면 다음과 같다.
class TestClass private constructor()
{
companion object
{
fun create(): TestClass
{
countCreated += 1
return TestClass()
}
var countCreated = 0
private set
}
}
fun main(args: Array<String>)
{
val a = TestClass.create()
val b = TestClass.create()
println(TestClass.countCreated)
}
자세한 설명은 하기의 블로그를 참고하면 더욱 도움이 된다.
참고 : 초보자를 위한 Kotlin 200제 라는 책을 기반으로 공부 내용을 정리하였습니다.
'Kotlin' 카테고리의 다른 글
[Kotlin] const (0) | 2020.08.29 |
---|---|
[Kotlin] inline 함수 (0) | 2020.08.29 |
[Kotlin] 기초 - 함수 (0) | 2020.08.27 |
[Kotlin] 기초 - typealias, 제어문 (0) | 2020.08.27 |
[Kotlin] 기초 - 정수/실수/문자 타입과 문자열 (0) | 2020.08.27 |