[자바 패턴] 싱글톤패턴의 이해(java singleton)
IT/JAVA
2018. 4. 17. 00:04
1. 싱글톤 인스턴스를 생성한다.
public class DbInfo {
// 싱글톤 패턴은 하나의 인스턴스 생성만 구현하는것을 말한다.
static private DbInfo instance;
private DbInfo(){
//생성자를 private를 만들어
// 외부에서 생성하지 못하도록 한다.
}
//외부에서 DbInfo 인스턴스를 사용할수 있도록 public으로 생성한다.
public static DbInfo getInstance(){
//instance가 null이라면 new 생성한다.
if(instance == null){
instance = new DbInfo();
}
//이후 외부에서 getInstance()을 호출한다면 null이 아니므로 하나의 인스턴스만이 리턴된다.
return instance;
}
}
2. 외부에서 호출해보자!
public class Main {
public static void main(String[] args) {
DbInfo info1 = DbInfo.getInstance();
DbInfo info2 = DbInfo.getInstance();
if(info1 == info2){
System.out.println("둘의 객체는 같다");
System.out.println("info1 : "+info1);
System.out.println("info2 : "+info2);
}else{
System.out.println("둘의 객체는 같지않다");
System.out.println("info1 : "+info1);
System.out.println("info2 : "+info2);
}
}
}
3. 결과값 출력.
둘의 객체는 같다
info1 : com.tt.pattern.Singleton.DbInfo@15db9742
info2 : com.tt.pattern.Singleton.DbInfo@15db9742
둘의 주소값이 동일한 것을 알수 있습니다.
감사합니다.
지난 포스트가 궁금하시다면
↓↓↓ 아래 링크를 클릭해주세요. ↓↓↓↓
다음 포스트가 궁금하시다면
↓↓↓ 아래 링크를 클릭해주세요. ↓↓↓↓
'공감'버튼 및 '좋아요'는 글쓴이에게 큰 힘이 됩니다!
728x90
'IT > JAVA' 카테고리의 다른 글
| [자바] java method timeout - 메서드 타임 아웃 걸기 (0) | 2018.04.17 |
|---|---|
| [자바] 깊은 복사와 얕은 복사의 이해 - java 데이터 복사 (1) | 2018.04.17 |
| [JAVA] 자바로 csv파일 만들기(라이브러리 X) (3) | 2018.01.26 |
| class 및 jar 파일이 디컴파일러가 안될때(리눅스에서 사용 방법) (0) | 2018.01.06 |
| httpClient를 통하여 서버 통신후 response String으로 받기 (0) | 2017.11.03 |