싱글톤 패턴은 인스턴스를 단 하나만 생성하는 디자인 패턴이다.
실제 프로그래밍에서는 TCP Socket 통신에서 서버와 연결된 connect 객체에 주로 사용한다.
public class SocketClient {
// 2. 클래스 내부에 static으로 유일한 인스턴스 생성
private static SocketClient socketClient = null;
// 1. private 생성자 만들기
private SocketClient (){
// private 로 기본 생성자를 막음
}
// 3. 외부에서 참조할 수 있는 public 메서드 만들기
public static SocketClient getInstance() {
if (socketClient == null) {
socketClient = new SocketClient();
}
return socketClient;
}
public void connet() {
System.out.println("connect");
}
}
기본 생성자로 생성하지 못하게 하고 getInstance()
로 할당 받게 설계한다. 다른 클래스A와 클래스B에서 SocketClient.getInstance()
로 할당하면 각 클래스에서 완전히 같은 인스턴스를 가질 수 있다.