싱글톤

    Kotlin 코틀린의 object VS companion object

    Kotlin 코틀린의 object VS companion object

    object VS companion object 코틀린은 싱글톤 클래스를 생성하기 위해 object declaration이라는 것을 사용한다. 싱글톤 클래스로 선언해야 할 경우에 클래스 명 앞에 class 대신 object를 사용함으로써 싱글톤 클래스를 생성하게 된다. 하지만 공부를 하다보면 companio object라는 것을 볼 수 있다. object와 companion object는 무엇이 다른지 알아보자. 1. object object는 크게 2가지로 사용된다. 1. object expression (객체 표현식) 2. object declaration (객체 선언) - 동반 객체(객체 선언을 클래스 내부에 사용한 것) 여기서 싱글톤 클래스를 생성하기 위해 사용되는 object의 쓰임은 2번째인 ..

    Kotlin 코틀린의 싱글톤(Singleton)

    Kotlin 코틀린의 싱글톤(Singleton)

    싱글톤 1. 싱글톤 정리 싱글톤이란 어떤 클래스가 최초 한번만 메모리를 할당하고 그 메모리에 객체를 만들어 사용하는 디자인 패턴을 말한다. 즉 생성자의 호출이 반복적으로 이루어 지더라도 실제로 생성되는 객체는 최초에 생성된 객체를 반환해 주는 것이다. 객체를 생성할 때 생성자가 호출되고 메모리에 올라가는 등 비용이 발생하게 된다. 만약 객체를 생성하는 비용이 크다고 한다면, 객체를 자주 생성하는 일은 시스템에 큰 부담을 가져올 수 있다. 싱글톤 패턴은 객체를 한번만 생성하고 생성된 객체를 재사용 하면서 객체의 재생성 비용을 줄이는 패턴이다. 하지만 여기서 고려해야될 점이 있다. 1. 인스턴스화 하는 비용을 줄일 수 있다는 장점을 가지고 있지만, 한번 생성한 인스턴스를 반납하지 않기 때문에 무분별한 싱글톤..