728x90
이번 글에서는 Kotlin에서 Static 자료형을 사용하는 방법에 대해 알아보고자 합니다.
JAVA에서는 변수나 메소드에static
을 선언해주면 정적 자료형을 사용할 수 있었습니다. 그런데 Kotlin에서는 static
이라는 자료형이 없는데요.
제목처럼 Kotlin에서는 static 대신 companion object
를 사용하여 정적 변수나 메소드를 선언할 수 있습니다. companion object
를 사용하면 private properties(private으로 선언된 변수나 메소드)를 읽어올 수 있습니다.
class Book private constructor(val id: Int, val name: String){
companion object /*이름 설정 가능*/{
val myBook = "new book"
fun create() = Book(0, myBook)
}
}
fun main(){
val book = Book.Companion.create()
//이름을 설정했을 경우 Companion 대신 설정한 이름을 넣어준다.
println("${book.id}, ${book.name}") //0, new book
}
companion object
를 사용하면 Interface를 implements하여 사용할 수도 있습니다.
interface IdProvider{
fun getId(): Int
}
class Book private constructor(val id: Int, val name: String){
companion object: IdProvider{
val myBook = "new book"
override fun getId(){
return 88
}
fun create() = Book(getId(), myBook)
}
}
이상 Kotlin에서 정적 자료형을 사용하는 방법에 대해 알아보았습니다. 정적 자료형은 컴파일 시에 생성되어 소스코드 파일 내부에서 사용할 수 있는 특징이 있습니다. 적절하게 정적 자료형을 사용한다면 더 효율적인 프로그래밍을 할 수 있을 것입니다.
728x90
'Android(Kotlin)' 카테고리의 다른 글
[Kotlin Android] 반복문 (0) | 2022.06.05 |
---|---|
[Kotlin Android] MotionLayout을 이용한 Twitter Splash 예제 (0) | 2022.06.04 |
[Kotlin Android] Array, ArrayList, List, MutableList (0) | 2022.05.28 |
[Kotlin Android] 람다식 (0) | 2022.05.27 |
[Kotlin Android] 클래스 (0) | 2022.05.26 |