[JAVA] Singleton 패턴

AI 개발자 웅이·2022년 7월 13일
0

Java

목록 보기
6/11

Singleton 패턴이란 static 명령어를 이용하여 전 시스템에 단 하나의 인스턴스만이 존재하도록 구현하는 방식이다.

구현 방식은 아래와 같이 크게 세 가지로 나눌 수 있다.

  1. 자바에는 글로벌 변수가 없기 때문에 static 변수(class 변수라고도 함)를 사용하여 class 내부에 인스턴스를 private으로 생성(변경할 수 없도록)한다.
  2. 생성자가 없으면 public default 생성자가 생성되기 때문에, 생성자를 private으로 만든다.
  3. 외부에서 생성된 객체에서 static 변수를 사용할 수 있어야 하기 때문에, public으로 선언된 static 변수에 접근 가능한 static 메서드를 구현한다.

아래는 singleton 패턴 구현 예시이다.

public class Company {

	private static Company instance = new Company();

	private Company() {}

	public static Company getInstance() {
		if (instance == null)
			instance = new Company();
		return instance;
	}
}
public class CompanyTest {

	public static void main(String[] args) {

		Company c1 = Company.getInstance();

		Company c2 = Company.getInstance();

		System.out.println(c1 == c2); // true
        
        // Company c3 = new Company(); // error
        
	}
}
profile
저는 AI 개발자 '웅'입니다. AI 연구 및 개발 관련 잡다한 내용을 다룹니다 :)

0개의 댓글