Singleton(싱글톤) 패턴

임미선·2022년 6월 14일
0

자바의 디자인 패턴 중 하나인 싱글톤 패턴에 대해 알아보겠습니다.

디자인 패턴이란?

오랜 기간 동안 수많은 개발자들의 개발 방법을 조사하여 발견된 코드 설계 노하우를 정리한 모음집 입니다.

싱글톤 패턴이란?

객체의 인스턴스를 하나만 갖도록 하는 패턴입니다.

구현 방법

public class ClassName {
// 1. 메소드 호출 시 반환할 static 인스턴스를 생성한다.
	private static ClassName singleton = new ClassName();
// 2. 생성자를 private로 설정해서 다른 클래스에서의 객체 생성을 막는다.
	private ClassName() {}
// 3. 다른 클래스에서 싱글톤 패턴이 적용된 클래스에 접근하기 위해 객체 생성 대신 사용할 static 메소드를 만든다.
	static ClassName getInstance() {
    	// 미리 만들어둔 인스턴스를 리턴한다.
		return singleton;
	}
}

이렇게 싱글톤 패턴을 구현해 놓으면 다른 클래스에서는 new를 이용해 ClassName의 인스턴스를 새로 만드는 것이 불가능해 집니다.
따라서 ClassName의 인스턴스에 접근하기 위해서는 ClassName singletonVar = ClassName.getInstance();로 메서드를 호출해 반환된 객체를 이용해서만 접근이 가능하다는 것이죠.
getInstance는 이미 만들어진 단 하나의 객체만을 반환하기 때문에 함수 호출을 여러번 하더라도 매번 같은 객체를 받게 됩니다.

profile
미선이네

0개의 댓글