본문 바로가기
개발/Java

[1주차] Java 중급 - static 응용 - 싱글톤 패턴(singleton pattern)

by 컴쏘 2023. 6. 24.

싱글톤 패턴이란?

  • 프로그램에서 인스턴스가 단 한개만 생성되어야 하는 경우 사용하는 디자인 패턴
  • static 변수, 메서드를 활용하여 구현할 수 있음

싱글톤 패턴으로 회사 객체 구현하기

생성자는 private으로 선언

private Company() {}

클래스 내부에 유일한 private 인스턴스 생성

private static Company instance = new Company();

외부에서 유일한 인스턴스를 참조할 수 있는 public 메서드 제공

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

CompanyTest.java

public class CompanyTest{
	public static void main(String[] args){
		Company company1 = Company.getInstance();
		Company company2 = Company.getInstance();

		System.out.println(company1);
		System.out.println(company2);

		// Calendar calendar = Calendar.getInstance();
	}
}

Company.java

package ch18;

public class Company {
	
	private static Company instance = new Company(); // static으로 선언
	
	private Company() {
		
	}
	
	public static Company getInstance() { 
	// 메소드를 static으로 선언해야 static 변수를 가져올 수 있음
		if(instance == null) {
			instance = new Company();
		}
		
		return instance;
	}
}

결과

Singleton : Class

instance : 변수

-Singleton

+getInstance

-는 private +는 public


2023 KAKAO Tech Campus_BackEnd 필수 과정
Java 1주차 강의 정리 내용입니다.