반응형
싱글톤 클래스는 애플리케이션 전체에서 단일 인스턴스를 유지하고 다른 클래스들이 이 인스턴스에 접근할 수 있도록 하는 디자인 패턴입니다. 이를 통해 객체의 중복 생성을 방지하고, 전역적인 상태나 리소스에 접근하기 편리한 장점을 제공할 수 있습니다.
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();
반응형
'프로그램 개발해서 돈벌기 > Android' 카테고리의 다른 글
[Java] 안드로이드 서비스에서 Local Notification 보내기 (0) | 2023.06.26 |
---|---|
[Java] 안드로이드 Activity와 Forground Service에서 위치 값 가져오기 (0) | 2023.06.26 |
android studio refactor를 이용해서 패키지명을 바꾸었을 때 R 인식을 못하는 이유는? 해결 방법은? (0) | 2023.06.26 |
android에서 포그라운드 서비스(Forground Service) 동작 확인 방법 (0) | 2023.06.23 |
안드로이드 소스 코드로 앱 해쉬 키 값 알아 오기 (0) | 2023.06.12 |
댓글