Notice
Recent Posts
Recent Comments
Link
투케이2K
154. (java/자바) 싱글톤 (Singleton) 생성 및 사용하기 본문
/* =========================== */
[ 개발 환경 설정 ]
개발 툴 : Eclipse
개발 언어 : Java
/* =========================== */
/* =========================== */
[소스 코드]
package ex;
class Single{
//싱글톤 패턴은 하나의 인스턴스 생성만 구현한 것이다
private static Single instance;
private Single() {
//클래스 생성자를 private로 만들어서 외부에서 생성하지 못하게함
}
//외부에서 인스턴스를 사용할 수 있도록 public으로 선언한다
public static Single getInstance() {
//instance가 null이라면 new를 생성한다
if(instance == null) {
instance = new Single();
}
//외부에서 getInstance 호출 시 null이 아니므로 하나의 인스턴스만 리턴된다
return instance;
}
}
public class MainActivity18 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("[싱글톤 (Singleton) 생성 및 사용하기]");
/*[설 명]
* 1. 싱글톤이란 어떤 클래스가 최초 한번만 메모리를 할당하고(Static) 그 메모리에 객체를 만들어 사용하는 디자인 패턴입니다
* 2. 쉽게 설명해, 생성자의 호출이 반복적으로 이뤄어져도 실제로 생성되는 객체는 최초 생성된 객체를 반환 해주는 것입니다
* 3. 사용이유 : 한번의 객체 생성으로 재사용이 가능하기 때문에 메모리 낭비를 방지할 수 있습니다
* 4. 단점 : 싱글톤을 사용해 너무 많은 일 처리와 데이터 공유 작업 시 싱글톤을 사용하는 다른 클래스 들은 서로 결합도(의존도)가 높아지는 문제가있습니다
* */
Single one_single = Single.getInstance();
Single two_single = Single.getInstance();
if(one_single == two_single) {
System.out.println("결과 : 두 객체 같음");
}
else {
System.out.println("결과 : 두 객체 다름");
}
}//메인 종료
}//클래스 종료
/* =========================== */
[결과 출력]
[싱글톤 (Singleton) 생성 및 사용하기]
결과 : 두 객체 같음
/* =========================== */
/* =========================== */
[요약 설명]
* 1. 싱글톤이란 어떤 클래스가 최초 한번만 메모리를 할당하고(Static) 그 메모리에 객체를 만들어 사용하는 디자인 패턴입니다
* 2. 쉽게 설명해, 생성자의 호출이 반복적으로 이뤄어져도 실제로 생성되는 객체는 최초 생성된 객체를 반환 해주는 것입니다
* 3. 사용이유 : 한번의 객체 생성으로 재사용이 가능하기 때문에 메모리 낭비를 방지할 수 있습니다
* 4. 단점 : 싱글톤을 사용해 너무 많은 일 처리와 데이터 공유 작업 시 싱글톤을 사용하는 다른 클래스 들은 서로 결합도(의존도)가 높아지는 문제가있습니다
/* =========================== */
반응형
'Java' 카테고리의 다른 글
Comments