본문 바로가기
Programming/Java

[JAVA] SingleTon Design Pattern

by 공부합시다홍아 2023. 11. 30.
 

[JAVA] 정적 제한자 Static

[JAVA] 다형성 [JAVA] 접근 제한자 [JAVA] 패키지와 상속 [JAVA] 객체와 클래스 [JAVA] 스택(Stack)과 큐(Queue) [JAVA] 매서드 [JAVA] 2차원 배열 [JAVA] 배열을 이용한 문제풀이 [JAVA] 정렬과 복사 [JAVA] 배열 연습 [J

hong-study.tistory.com


싱글톤 패턴 ( Singleton Pattern )
  • 싱글톤 패턴은 어떤 클래스의 객체는 오직 하나임을 보장 
  • 이 객체에 접근할 수 있는 전역적인 접촉점을 제공하는 패턴
  • 클래스  객체를 유일하게 하나만 생성하여, 모든 곳에서 하나의 객체에 접근하게 하여
    전역의 개념으로 객체를 사용할 수 있다. 
  • 싱글톤 패턴은 객체의 생성을 제한하기 위해 사용한다.

- person.class

public class Person {
	//디자인패턴 - 클래스 멋지게 설계하는 방법론
	//싱글톤패턴 - 객체를 1개만 생성되도록 설계하는 방법
	
	//1. 나자신의 객체를 멤버변수로 1개 생성합니다.
	private static Person p = new Person();
	
	//2. 객체를 직접 생성하지 못하도록 생성자에 private을 붙입니다.
	private Person() {
	}
	
	//3. 객체를 요구할 때, 1번에서 만들어둔 단 1개의 객체를 반환
	public static Person getPerson() {
		return p;
	}
	/////////////////////////////////
	//변수 1
	private String name;
	
	public void setName(String name) {
		this.name = name;
	}
	
	public String getName() {
		return name;
	}
	
}

- MainClass

public class MainClass {

	public static void main(String[] args) {
		
		//Person p = new Person();
		Person p = Person.getPerson();
		Person p2 = Person.getPerson();
		
		System.out.println(p);
		System.out.println(p2);
		
	
		p.setName("홍길동");
		
		System.out.println(p.getName() ); //홍길동
		System.out.println(p2.getName() ); //홍길동

	}
}
728x90

'Programming > Java' 카테고리의 다른 글

[JAVA] 인터페이스 (Interface)  (0) 2023.11.30
[JAVA] Final 과 Abstract(추상화)  (0) 2023.11.30
[JAVA] 정적 제한자 Static  (0) 2023.11.30
[JAVA] 다형성  (1) 2023.11.14
[JAVA] 접근 제한자  (0) 2023.11.13