안드로이드 개발/개념
[Android] 싱글톤 패턴이란?
얌자
2021. 5. 28. 09:07
- 어떤 클래스의 인스턴스는 오직 하나임을 보장하며, 이 인스턴스에 접근할 수 있는 전역적인 접촉점을 제공하는 디자인 패턴이다.
- 애플리케이션의 시작부터 종료까지 한 번의 생성으로 고정된 메모리 영역을 가지기 때문에 메모리를 효율적으로 사용 할 수 있다.
- 싱글톤의 인스턴스는 전역적으로 사용되기 때문에 다른 클래스의 인스턴스들이 데이터를 공유 변경이 가능하다는 장점이 있다.
- 쉽게 말하면 한 번의 선언으로 모든 클래스에서 전역으로 사용 가능한 필드나 메서드를 만드는 것. ( 아무데서나 접근 가능한 필드나 메소드 ex)유저 로그인 아이디 )
자바와 코틀린의 싱글턴 패턴
- 자바에서는 인스턴스 변수를 선언하고 생성자 및 정적 메서드를 추가하는 작업을 추가한다.
- 코틀린에서는 단 한 줄로 처리된다
◈ 자바 코드
public final class SingleTon {
private static Singleton instance = null;
private Singleton() { }
public static synchronized Singleton
getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
◈ 코틀린 코드(한 줄이면 된다.)
object Singleton