Kotlin Singleton pattern - object

Notepad96

·

2020. 10. 2. 23:30

300x250

 

 

 

 

1. 싱글톤 패턴(Singleton Pattern)

싱글톤 패턴(Singleton Pattern)이란 프로그램에서 어느 객체를 단 한개의 인스턴스만 만들수 있도록 보장 하는 인스턴스를 말한다.


하나의 인스턴스만을 갖어야함으로 기존 Java에서는 private을 사용하여 외부에서 접근하지 못하도록 제한하고, static을 사용하여 클래스 내부에서 생성된 동일한 인스턴스를 갖고오도록 하였다.

 

 

하지만 Kotlin에서는 object 키워드를 이용하여 객체를 만들 수 있는 수단이 존재하여 아주 간단하게 싱글톤 패턴을 구현할 수 있다.

 

 

 

 


2. Object Declarations

object Book
{
    lateinit var name:String
    var price: Int = 0
    fun print() = println("$name : $price won")
}
fun main() {
    Book.name = "name"
    Book.price = 12_500
    Book.print()
}

 

클래스를 선언할 필요없이 object 객체를 선언하면 싱글톤 구조를 구현해낼 수 있다.

 

 

※ lateinit 

프로퍼티 선언 시 초기화를 해주어야 하지만 이를 뒤로 미루기 위해서 사용한다.

 

물론 초기화를 하지 않고서 사용하고자한다면 에러가 발생한다.

 

lateinit 키워드는 원시 타입이 아닌 타입에서만 사용할 수 있다.

여기서 원시 타입이라하면 Int, Char, Double 등등이며 String 타입은 아니다.

 

 


3. 참 조

 

 

Object Expressions, Object Declarations and Companion Objects - Kotlin Programming Language

 

kotlinlang.org

 

 

300x250