Kotlin
코틀린 정적 변수
Jyuni
2023. 3. 14. 23:54
companion object
자바에서의 static 같이 동적인 초기화 없이 정적으로 고정하는 방법.
코틀린은 static이 없이 때문에 companion object를 사용한다.
프로그램 실행 시 고정적으로 가지는 메모리.
객체 생성 없이 사용한다. 단 자주 사용되지 않는 변수나 객체를 만들면 메모리가 낭비된다.
class Coffee {
var name: String = "Americano"
var price: Int = 4000
companion object {
var language: String = "Korean"
fun drink() {
println("drink")
}
}
}
fun main() {
println(Coffee.language)
Coffee.language = "English"
println(Coffee.language)
Coffee.drink()
// Coffee.name 컴페니언 객체가 아니므로 에러가 뜬다.
}
/* 출력
Korean
English
drink
*/