반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 웹 용어
- 자료구조
- tensorflow
- vscode
- Keras
- pycharm
- 재귀함수
- web 사진
- 머신러닝
- 데이터전문기관
- mglearn
- postorder
- inorder
- 대이터
- discrete_scatter
- CES 2O21 참여
- bccard
- classification
- broscoding
- 결합전문기관
- CES 2O21 참가
- KNeighborsClassifier
- java역사
- html
- paragraph
- web 용어
- cudnn
- web
- C언어
- web 개발
Archives
- Today
- Total
bro's coding
java.DisignPattern.Singleton 본문
반응형
**Singleton Design Pattern**
why? 시스템 상에서 단 한번 객체를 생성해서 여러 곳에서 공유해 사용하고자 할 때 적용하는 설계 패턴
( 참고 - spring framework에서는 기본 객체 운용 방식이 singleton 이다 )
적용 방안
1) 생성자의 접근 제어자 private으로 명시해 외부에서 객체 생성하는 것을 막는다
2) private static 멤버변수 차원에서 클래스 로딩시점에 자신의 생성자를 이용해 객체를 생성하고 주소값을 저장한다
( 현 객체의 주소값은 static 영역( meta-space or class area ) 에 저장하게 된다 )
3) public static 메서드로 한번 만든 객체의 주소값을 외부에서 사용하도록 반환해주도록 정의한다
package test.pattern;
class Company {
private static Company instance = new Company();
private String comInfo = "회사정보";
private Company() {
System.out.println("Company 객체 생성");
}
public static Company getInstace() {
return instance;
}
public String getComInfo() {
return comInfo;
}
}
public class TestSingleton {
public static void main(String[] args) {
// Company c = new Company();
// System.out.println(c.getComInfo());
System.out.println(Company.getInstace());
System.out.println(Company.getInstace());
System.out.println(Company.getInstace().getComInfo());
}
}
public class ProductDAO {
private String driver = "oracle.jdbc.OracleDriver";
private String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
private String user = "scott";
private String pass = "tiger";
// 2. 스테틱을 이용해 new
private static ProductDAO instance = new ProductDAO();
// 1.private 생성자 만들기
private ProductDAO() {
}
// 3. instance를 가져다 쓸 메소드 선언
public static ProductDAO getInstance() {
return instance;
}
}
반응형
'[IT] > java' 카테고리의 다른 글
java.요청url (0) | 2021.04.19 |
---|---|
java.동적 객체 생성 및 메소드 실행 (0) | 2021.04.19 |
java.DisignPattern.Front Controller Pattern (0) | 2021.04.16 |
java.mvc.member (0) | 2021.04.14 |
java.web.model2.mvc.redirect (0) | 2021.04.14 |
java.web.model2.mvc.forward (0) | 2021.04.13 |
java.web.model2.mvc.forword/redirect (0) | 2021.04.12 |
java.web.model2.mvc (0) | 2021.04.12 |
Comments