Burninghering's Blog
article thumbnail

1. 1. 싱글톤 패턴이란?

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

디자인 패턴 : 객체 지향 프로그램을 용이하게 사용하도록, 추후 유지 보수와 확장이 쉽도록 만들어놓은 패턴

 

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

생성자는 private으로 선언

ex ) 시간 / 회사

 

기본 생성자가 자동으로 제공되면, "회사"를 여러개 만들 수 있게 될 수 있으므로

우리가 미리 생성자를 private으로 선언

<code />
private Company() {}

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

<code />
private static Company instance = new Company();

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

<code />
public static Company getInstance() { if( instance == null) { instance = new Company(); } return instance; }

Company.java

<java />
package ch18; public class Company { private static Company instance = new Company(); //유일한 인스턴스! private Company() { } //유일한 객체를 외부에서 쓸 수 있도록 하는 메소드 public static Company getInstance() { //생성자를 안만들어도 쓸 수 있게 static 추가->클래스 이름으로 메소드 사용 if (instance==null) { instance=new Company(); } return instance; } }

CompanyTest.java

<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(); //시간 -> 유일한 객체 제공(회사와 같은 예) } }

JVM이 정해준 힙 메모리 주소가 같다 

 

클래스/변수/생성자,메소드

-는 private

+는 public 

profile

Burninghering's Blog

@개발자 김혜린

안녕하세요! 반갑습니다.