Java/Java icia 12일차

싱글톤 패턴과 getinstance 사용법

swkn 2023. 3. 9. 15:45

1. 싱글톤 패턴의 필요성

한 클래스를 생성하고 그 클래스의 정보성 데이터를 변수로 생성하고 관리하자 한다면 다른 클래스에서 그 클래스에 접근할때 getter 와 settter 를 사용하여 수정 후 반환하여 사용한다. 다른 클래스에서 각자 인스턴스를 생성하면 다른 클래스들끼리 이 클래스의 정보를 공유하기 어렵게 되는 문제가 생길 수 있다.

 


 

2. 싱글톤 패턴의 사용 목적

싱글톤 패턴을 사용하는 이유는 정보를 보관하고 공유하고자 하는 클래스에서 메모리를 한번만 할당하고 그 할당한 메모리에 대해 객체로 관리하기 위함이다. 이렇게 되면 여러 클래스에서 각자 정보를 보관하고 공유하고자 하는 클래스의 생성자를 호출하더라도 처음 한번 생성된 인스턴스를 반환하게 되기 때문에 정보공유차원에서의 변수 관리 , 즉 동기화에 용이하다.

 


 

3. 싱글톤 패턴과 getinstance 사용법

private static UserService service = new UserService();

접근제한자 private = 이 클래스에서만 객체를 만들 수 있다.

statc = 객체를 생성하지 않고도 Static 자원에 접근이 가능하다.

그래서 다른 클래스에서 UserService타입 객체를  new 로 생성 할 수 없다.

public static UserService getInstance() {
		return service;
	}

그래서 다른 클래스에는 메소드를 사용해서 객체를 생성할 수 있도록 하는것이 getInstance이다.