Develop/JavaScript JQuery JSP

0718 Singleton 패턴

포페PostFace 2022. 7. 22. 19:12


Singleton 패턴
어떠한 클래스 객체를 만들때 단 하나만 그 이상은 못만들게 하는 패턴을 의미한다.

싱글톤 패턴으로 객체 생성하기.
1. 생성자는 private으로 한다. 이유: 외부에서 객체를 못만들게 하기 위해서.
2. 객체를 생성해서 객체의 주소를 리턴하는 static 메소드를 하나 만든다. 
static으로 만드는 이유 : 생성자에 접근할 수 없어서 다른 클래스에서 객체를 못만드는 걸 클래스명을 통해
메소드에 접근 할 수 있게끔하기 위함.
3. 변수는 static으로 생성한다. 이유: 메소드가 static이므로 변수 또한 static으로 맞춰줘야한다.

 

public class Test2 {
	private static Test2 instance; //자동으로 null로 초기화 됨.
	public static Test2 getInstance() {
		if(instance==null) {
			System.out.println("인스턴스(객체) 생성");
			instance=new Test2();
		}
		return instance; //만들어진 객체의 주소
	}
	private Test2(){
		System.out.println("Test2 생성자");
	}
}
public class Main2 {

	public static void main(String[] args) {
		//Test2 ts1=new Test2(); // 생성자가 private라 접근할 수 없다.
		Test2 ts1=Test2.getInstance(); //Test2를 붙이는 이유 : Test2에 정의된 메소드기 때문에.
		System.out.println("ts1:"+ts1);
		Test2 ts2=Test2.getInstance(); 
		System.out.println("ts2:"+ts2);
		Test2 ts3=Test2.getInstance(); 
		System.out.println("ts3:"+ts3);//셋의 주소가 같다. 처음에만 객체가 null이었기 때문에.				
	}
}

'Develop > JavaScript JQuery JSP' 카테고리의 다른 글

0720 JSP  (0) 2022.07.22
0719 DBCP 커넥션풀  (0) 2022.07.22
0713~15 JSP JDBC 응용을 통해 테이블 작성  (0) 2022.07.15
0712 JSP 3일차  (0) 2022.07.15
0711 JSP 2일차  (0) 2022.07.15