kotlin,

코틀린의 companion object & Singleton

Ella Ella Follow Nov 16, 2021 · 1 min read
코틀린의 companion object & Singleton
Share this

🥑

개념 3️⃣ companion object & Singleton

companion object

코틀린에는 자바와는 다르게 static 키워드가 없다. 대신에 다음과 같이 companion object{…} 블록 안에 정적 멤버들을 추가할 수 있다.

class WithStaticmember {
    companion object{
        val hello = "world"
    }
}

println(WithStaticMember.hello)

>> world

companion object 안에 선언된 멤버들은 코틀린 코드에서 자바의 static 변수를 사용하듯이 쓸 수 있다.

Singleton

싱글톤 객체를 만드는 전통적인 방법으로는, private 생성자를 만들고 companion object에 객체를 반환하는 정적 함수를 만들어서 사용하는 방법이 있다. 하지만 코틀린에는 object 키워드를 이용해서 보다 간단하게 싱글톤 객체를 만들 수 있다.

object SingletonClass{
    // ...
}

object로 선언한 클래스는 선언과 함께 객체가 생성된다. object로 선언된 클래스는 val singleton = SinglethonClass()와 같이 다시 객체화할 수 없다.

Join Newsletter
Get the latest news right in your inbox. We never spam!
Ella
Written by Ella Follow
Android Developer, love to explore new ideas and write on my morning coffee!