반응형
싱글턴 패턴(Singleton Pattern)이란?
싱글턴 패턴이란 인스턴스가 하나 뿐인 특별한 객체를 만들 수 있게 해주는 패턴으로,
싱글턴으로 생성된 인스턴스에 자유롭게 접근하여 사용이 가능하다.
싱글턴 패턴을 사용하는 이유는 인스턴스를 한번 생성 후, 재사용하여 사용하기 때문에 메모리낭비를 줄일 수 있다.
싱글턴 패턴은 인스턴스를 생성 후 같은 자원을 계속해서 이용하므로, 연결풀 또는 스레드 풀과 같은 자원 풀을 관리하는데도 자주 이용된다.
싱글턴 패턴 예제
1
2
3
4
5
6
7
8
9
10
|
public class Singleton {
private static final Singleton singletonTest = new Singleton(); // 초기화 부분에서 인스턴스를 생성
// 생성자를 private로 선언 - Singleton클래스에서만 Singleton 클래스의 인스턴스를 생성 가능
private Singleton() { }
public static Singleton getInstance() {
return singletonTest; // 생성된 싱근턴 인스턴스를 리턴
}
}
|
cs |
위의 예제를 보면 생성자를 private로 선언하여 Singleton 클래스의 인스턴스를 외부에서는 생성이 불가능하고,
Singleton클래스 내부에서만 생성이 가능하도록 하였다.
초기화 부분에서 Singleton인스턴스를 생성했으니, 외부에서는 getInstance()를 이용하여 해당 인스턴스를 사용하면 된다.
1
2
|
Singleton singleton = Singleton.getInstance();
// ... 인스턴스를 이용하여 필요한 코드 작성
|
cs |
외부에서는 위의 코드와 같이 생성된 싱글턴인스턴스를 받아서 필요한 코드를 이어서 작성하면 된다.
반응형
'노빠꾸 개발일지 > JAVA' 카테고리의 다른 글
[JAVA] JSON 객체 사용법 정리(JsonObject, JsonArray) 데이터 파싱, 데이터 수정 (0) | 2022.07.09 |
---|---|
[JPA] JPA(Java Persistence API) 란? (0) | 2022.04.06 |
[리눅스] JAVA 설치 및 환경설정 (1) | 2020.11.22 |
[Java] 오버로딩 & 오버라이딩 차이 비교 정리(오버로딩, 오버라이딩 차이점) (0) | 2020.10.25 |
[JAVA] JAVA 날짜 클래스 정리 - Date(), SimpleDateFormat(), 날짜 타입 형변환... (1) | 2020.10.21 |