백업하는 인생

싱글톤 본문

java/이론

싱글톤

sunmn 2022. 8. 23. 10:17
1. 싱글톤: '하나'의 인스턴스만 생성하여 사용하는 것
2. 사용이유
   1) 메모리 낭비 줄일 수 있음
   2) 싱글톤으로 만든 인스턴스는 전역이므로 다른 클래스의 인스턴스들끼리 데이터 공유가능

 

new 를 이용해서 객체를 생성할 때마다 메모리에 저장되는데, 이것은 메모리 낭비로 이어질 수 있다. 

 

싱글톤은 똑같은 인스턴스를 여러개 만들지 않고  

인스턴스를 하나만 만들어놓고, 기존의 인스턴스를 활용하는 것을 말한다.  

 

싱글톤을 사용하여 객체 생성을 줄임으로써 메모리낭비를 줄일 수 있다. 

 

싱글톤을 만들기 위해서는 클래스 외부에서 new연산자로 생성자를 호출할 수 없도록 막아야 한다.

생성자 앞에 private 접근 제한자를 붙여줌으로써 생성자가 외부에서 호출되는 걸 막자. 

 

 

Singleton.java

Singleton이라는 객체를 생성해두고 앞에 private를 붙인 후, 외부에서 직접적으로 접근하는 것을 막고, 

바로 아래에 있는 생성자에도 마찬가지로 private를 붙여서 외부에서 Singleton 생성자가 호출되어 새로운 new 생성자가 만들어지는 것을 막아야 한다.  이 경우 getInstance메소드를 통해서만 Singleton에 접근할 수 있게 된다.

 

 

SingletonExample.java

getInstance 메소드를 불러오는데 getInstance앞에 static이 선언되어 있으므로

따로 객체 생성 할 필요 없이 바로 클래스명 Singleton을 사용하여 불러올수 있다. (Singleton.getInastance();)

 

 

 

'java > 이론' 카테고리의 다른 글

getter, setter 메소드  (0) 2022.08.23
인스턴스멤버와 정적멤버  (0) 2022.08.22
클래스와 객체2_클래스와 객체 생성하여 이용해보기  (0) 2022.08.21
클래스와 객체1_ 클래스와 객체란?  (0) 2022.08.21
변수  (0) 2022.08.02
Comments