[Java] Singleton Pattern (싱글톤 패턴)

SeongWon Oh·2021년 8월 14일
0

Java

목록 보기
12/39
post-thumbnail

Singleton Pattern (싱글톤 패턴)

  • 프로그래밍을 하다보면 여러개의 인스턴스를 만들었을 때 문제가 발생하는 경우가 존재한다.
    (ex. 동일한 날짜를 표시하는 객체, 하나의 회사라는 객체)

  • 이러한 경우 프로그램 내에 단 하나의 인스턴스만 생성하여 사용하는 싱글톤 패턴을 사용한다.

  • 싱글톤 패턴은 static variable, method를 활용하여 구현할 수 있다.


👨🏻‍💻 Example Code

Company.java

package ch18;

public class Company {
	/* 생성자를 따로 지정안하면 default생성자가 public으로 생성되는데
	singleton에서는 외부에서 마음대로 사용하지못하도록 private으로 생성자를 생성한다.
	그리고 유일한 인스턴스는 내부에서 만든다.
	*/ 
	private Company() {
		
	}
	
	private static Company instance = new Company(); 
	//유일한 인스턴스는 내부에서 만든다.
	
	
	// 인스턴스를 사용할 수 있도록 해주는 public함수
	// 싱글톤 패턴에서 유일한 인스턴스이기 때문에 미리 생성하고 외부에서 호출해야해서 static으로 지정한다.
	public static Company getInstance() {
		if(instance == null) {
			instance = new Company();
		}
		return instance;
	}
}

CompanyTest.java

package ch18;

public class CompanyTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Company company1 = Company.getInstance();
		Company company2 = Company.getInstance();
		
		System.out.println(company1);
		System.out.println(company2);
		// 하나의 인스턴스로 생성한 것이기 때문에 주소공간이 같다.
	}
}



Reference

  • [Fast Campas] 한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online.
profile
블로그 이전했습니다. -> https://seongwon.dev/

0개의 댓글