티스토리 뷰

프로그래밍/디자인패턴

싱글톤패턴

늦둥이코더 2019. 9. 19. 15:46

클래스를 통해 생성되는 객체는 한 개만 생성되게 하는 패턴
  static이용 
  static은 객체를 생성하지 않아도 접근이 가능하다. 
  정적초기화 스태틱 이니셜 라이저는 최초에 한번 호출된다. 
  static{  }
  1. 싱글톤 클래스의 생성자를 접근 못하게 private로 만들어버림 private로 선언한다. 그러면 new로 생성을 못한다. 
  2. 자기내부에 인스턴스 변수를 만들고 new로 생성한다. static르로 선언한다. 
  3. 해당객체를 static으로 get 한수를 제공한다. static르로 선언한다. 
  그러면 해당클래스의 객체는 하나만 존재하게 된다. 
  
  singleton의 예시 인스턴스 풀 
  
  자바는 객체로 시작해서 객체로 끝난다. 
  메모리관리는 JVM이 해주니까 생성된 객체를 계속 추적관리해야 한다. 메모리 해지를 위해 그래서 부하가 있다. 
  그래서 관리 방법이 필요하다. 
  대표케이스 Connection pool 데이터베이스 커넥션을 미리 만들어놓고 요청 왔을 때 할당해주는 것 
  static final?
  Connection pool 의 접속제한객수를 정해 놓았을 때 전체 커넥션 제한 개수가 새로 생성되어서는 안 되므로 하나만 생성 후 모든 사용 함수에서 공유한다. 
  
  자원관리등 매니징 역할하는 클래스들을 주로 singleton 패턴으로 만든다
  자바의 synchionized 로 해당 클래스에 한 번에 하나만 접근 가능하도록 해야 한다. 동기화시켜줘야 한다. 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
글 보관함