싱글톤(Singleton) 패턴은 특정 클래스에 대한 인스턴스를 단 한 번만 Static 메모리 영역에 할당하고 객체의 인스턴스가 오직 1개만 생성되는 패턴을 의미한다. 각 액티비티 들이나, 클래스마다 주요 클래스들을 하나하나 전달하는게 번거롭기 때문에 싱글톤 클래스를 만들어 어디서든 접근하도록 설계
사용하는 이유 :
- 메모리 낭비 방지 : 고정된 메모리 영역을 사용하기 때문에 추후 해당 객체에 접근할 때 메모리 낭비를 방지할 수 있다. 프로젝트 내에서 자주 쓰이는게 있으면 static처럼 메모리 할당을 1번만 해서 메모리 절약.
- 속도 : 이미 생성된 인스턴스를 활용하니 속도 측면에서도 이점이 있다고 볼 수 있다.
- 데이터 공유 : 다른 클래스 간에 데이터 공유가 쉽다는 것이다
단점 :
- 만약 싱글톤 인스턴스가 혼자 너무 많은 일을 하거나, 많은 데이터를 공유시키면 다른 클래스들 간의 결합도가 높아진다.
- 결합도가 높아지게 되면, 유지보수가 힘들고 테스트도 원활하게 진행할 수 없는 문제점이 발생한다.
'안드로이드 자바 코틀린 기초 지식 > 안드로이드 기초 지식' 카테고리의 다른 글
Room 데이터베이스 라이브러리 (0) | 2022.08.24 |
---|---|
안드로이드 HTTP 통신 라이브러리 (Okhttp3, retrofit and volley) (0) | 2022.08.10 |
SharedPreferences (0) | 2022.08.01 |
안드로이드 - Service (0) | 2022.08.01 |
List View와 Recycler View의 차이 (0) | 2022.07.29 |