본문 바로가기
Java

Singleton Design Pattern(싱글톤 디자인 패턴)

by WaterPunch 2021. 4. 23.

시스템 상에서 단 한번 객체를 생성해서 여러 곳에서 공유해 사용하고자 할 때 적용하는 설계 패턴

>> 인스턴스가 사용될 때 인스턴스를 여러개 생성하는 것이 아니라,

     기존에 생성했던 동일한 인스턴스를 사용하게끔 한다

 

Singleton Design Pattern

 

1. 생성자의 접근 제어자를 private으로 명시 > 외부에서 객체 생성하는 것을 막는다

2. private static 멤버변수 차원에서 클래스 로딩시점에 자신의 생성자를 이용해 객체를 생성하고 주소값을 저장

(현 객체의 주소값은 static 영역 (meta-space / class area)에 저장하게 됨)

3. public static 메서드로 한번 만든 객체의 주소값을 외부에서 반환할 수 있도록 getInstance() 메서드를 정의

 

private static MemberDAO instance = new MemberDAO();
public static MemberDAO getInstance() {
    return instance;
}
public class test {
   public static void main(String[] args) {
   MemberDAO dao1 = MemberDAO.getInstance();
   MemberDAO dao2 = MemberDAO.getInstance();
}

//(dao1 == dao2, 객체 주소가 같다)

 

 

반응형

'Java' 카테고리의 다른 글

[Spring] Spring MVC?  (0) 2021.06.02
DBCP (Database Connection Pool) 연습  (1) 2021.04.25
MVC Architecture Model 2 연습예제  (0) 2021.04.25
MVC Architecture Model 1 연습예제  (0) 2021.04.23
MVC Architecture ( Model 1 / Model 2 )  (0) 2021.04.22

댓글