Christmas Pikachu 싱글톤
개발일지/자바

싱글톤

ZI_CO 2022. 9. 1.

싱글톤이란

  1. 외부에서 생성할 수 없고
  2. 메모리 영역에 미리 할당합니다.(Static area).
  3. 고정된 영역에 할당하므로 딱 정해진 만큼의 메모리만 사용하고, 더는 낭비하지 않습니다.
  4. 게다가 Static area에 할당된 객체는 JVM이 종료되는 즉, 프로그램이 종료되기 전까지는 계속 사용할 수 있습니다.

 

정해진 양의 메모리만 소비하며, 동일한 객체를 다 같이 이용하는 것.

이것이 싱글톤 패턴이 가지는 목적이라고 할 수 있다.

 

장점: 

1. 고정된 메모리 영역을 얻으면서 한번의 new로 인스턴스를 사용하기 때문에 메모리 낭비를 방지 할 수가 있다.

2. 싱글톤으로 만들어진 클래스의 인스턴스는 전역이기 때문에 다른 클래스의 인스턴스들이 데이터를 공유하기 쉽다.

3. 인스턴스가 절대적으로 한 개만 존재하는 것을 보증하고 싶을 경우 사용한다.

4. 두 번재 이용시 부터는 객체 로딩 시간이 줄어 성능이 좋아지는 장점이 있다.

=> 이런 장점을 가진 싱클톤 패턴은 DBCP(dataBaseCommection Pool)처럼 공통된 객체를 여러개 생성해서 사용해야 하는 상황에 많이 사용된다.

 

 

단점: 

1. 싱글톤 인스턴그사 너무 많은 일을 하거나 많은 데이터를 공유시킬 경우에 다른 클래스의 인스턴들간에 결합도가 높아져 개방-폐쇄 원칙을 위배하게 된다.

 

 

 

 

 

 

 

 

 

 

 

 

'개발일지 > 자바' 카테고리의 다른 글

배열 - Array  (0) 2022.09.04
this, Getter, Setter  (0) 2022.09.04
equals 와 (==)의 차이점  (0) 2022.09.01
생성자, 생성자의 오버로딩, 접근지정자  (0) 2022.08.31
CRUD란  (0) 2022.08.31

댓글