728x90
Companion Object
companion object 에 유틸성 함수들을 넣어도 되지만, 최상단 파일을 활용하는 것을 추천 드립니다!
자바에서 코틀린에 있는 static field 나 statice 함수를 사용하고 싶을 때는 @JvmStatic 어노테이션을 씁니다.
Person.Companion.newBaby("ABC"); 로 접근 가능
Person.newBaby("ABC"); 로 접근 가능
반면 컴파니언 명이 있는 경우
class Person private constructor (
var name: String,
var age: Int,
) {
companion object Factory {
private const val MIN_AGE = 1
@JvmStatic
fun newBaby(name: String): Person {
return Person(name, MIN_AGE)
}
}
}
Person.Factory.newBaby("ABC"); 로 접근을 해야한다. 즉, 컴패니언 오브잭트 명으로 접근해야합니다.
싱글톤
object Singleton {
var a: Int = 0
}
익명클래스
interface Movable {
fun move()
fun fly()
}
fun main() {
moveSomething(object : Movable {
override fun move() {
TODO("Not yet implemented")
}
override fun fly() {
TODO("Not yet implemented")
}
})
}
private fun moveSomething(movable: Movable) {
movable.move()
movable.fly()
}
728x90
'Kotlin' 카테고리의 다른 글
Kotlin - 다양한 함수 (0) | 2023.05.06 |
---|---|
Kotlin - 컬렉션 (0) | 2023.05.06 |
코틀린 - 접근 제어자 (0) | 2023.05.01 |
코틀린 - 클래스 생성자와 상속 (0) | 2023.05.01 |
Kotlin - 기본 문법2 (0) | 2023.04.17 |
댓글