본문 바로가기
프로그램 개발해서 돈벌기/Android

[Java] 안드로이드에서 싱글톤(Singleton) 클래스와 사용법 예제

by ubmuhan 2023. 6. 26.
반응형

싱글톤 클래스는 애플리케이션 전체에서 단일 인스턴스를 유지하고 다른 클래스들이 이 인스턴스에 접근할 수 있도록 하는 디자인 패턴입니다. 이를 통해 객체의 중복 생성을 방지하고, 전역적인 상태나 리소스에 접근하기 편리한 장점을 제공할 수 있습니다.

 

public class MySingleton {
    private static MySingleton instance;

    // private 생성자로 외부에서의 인스턴스 생성 방지
    private MySingleton() {
        // 초기화 코드 작성
    }

    // 인스턴스 반환 메서드
    public static MySingleton getInstance() {
        if (instance == null) {
            // 인스턴스가 없는 경우에만 생성
            synchronized (MySingleton.class) {
                if (instance == null) {
                    instance = new MySingleton();
                }
            }
        }
        return instance;
    }

    // 싱글톤 객체의 메서드들을 정의
    public void doSomething() {
        // 기능 구현
    }
}

 

위의 예시에서는 MySingleton 클래스를 선언하고, instance라는 private static 멤버 변수를 사용하여 싱글톤 객체를 저장합니다. 생성자는 private로 선언되어 외부에서의 인스턴스 생성을 막습니다.

 

getInstance() 메서드는 인스턴스를 반환하는 정적 메서드입니다. 처음 호출되었을 때 instance가 null인 경우에만 동기화 블록을 통해 인스턴스를 생성하고, 그 후에는 이미 생성된 인스턴스를 반환합니다. 이렇게 함으로써 다중 스레드 환경에서도 안전하게 싱글톤 객체를 사용할 수 있습니다.

 

싱글톤 객체의 기능은 doSomething()과 같은 메서드로 구현할 수 있습니다.

 

사용법은 아래와 같습니다.

 

MySingleton singleton = MySingleton.getInstance();
singleton.doSomething();

 

 

 
반응형

댓글