개발공간/Java

💡싱글톤이 뭔데?

로지네 2023. 4. 6. 20:25

❓ 싱글톤이 대체 뭘까?

오직 하나의 객체만 생성하고, 그 객체를 모든 곳에서 공유하여 사용하는 디자인 패턴

쉽게 말하면? 하나의 클래스에서 만들어진 객체는 프로그램 전체에서 공유해서 사용할 수 있음

이 패턴을 사용하면, 여러 개의 객체를 생성하지 않고 하나의 객체를 공유해서 사용함으로써 자원 낭비를 줄이고, 객체 간의 일관성을 유지할 수 있음. 예를 들어, 데이터베이스 연결 객체나 로그 기록 객체 등은 여러 곳에서 동시에 접근하면 문제가 발생할 수 있기 때문에, 이런 경우 싱글톤을 사용!

 

예를 들면, 스마트폰을 사용하는데 스마트폰이라는 객체는 딱 하나만 있어야 함

왜냐? 스마트폰 객체를 만들어서 사용할 때마다 새로 만들게 되면 메모리 낭비가 심하기 때문! 

이때 싱글톤 패턴을 사용하면 스마트폰 객체를 단 하나만 만들어서 사용할 수 있음

-> 메모리 절약도 하고 여러곳에서 같은 객체를 사용해야 하는 경우 유용함