투케이2K

32. (TWOK/ALGORITHM) [Java] 패턴 - 싱글톤 패턴 생성 및 사용 예시 본문

투케이2K 알고리즘

32. (TWOK/ALGORITHM) [Java] 패턴 - 싱글톤 패턴 생성 및 사용 예시

투케이2K 2022. 7. 14. 08:32

[환경 설정 및 설명]

언 어 : 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("결과 : 두 객체 다름");
		}
		
	}//메인 종료
	
}//클래스 종료

 


[참고 사이트]

https://kkh0977.tistory.com/366

 

154. (java/자바) 싱글톤 (Singleton) 생성 및 사용하기

/* =========================== */ [ 개발 환경 설정 ] ​ 개발 툴 : Eclipse 개발 언어 : Java /* =========================== */ ​ /* =========================== */ [소스 코드] package ex; class Singl..

kkh0977.tistory.com

 


 

반응형
Comments