728x90


    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

    둘의 주소값이 동일한 것을 알수 있습니다.

    감사합니다.


    지난 포스트가 궁금하시다면 

    ↓ 아래 링크를 클릭해주세요. ↓

    [JAVA] 자바로 csv파일 만들기(라이브러리 X)


    다음 포스트가 궁금하시다면 

    ↓ 아래 링크를 클릭해주세요. ↓

    [자바] 깊은 복사와 얕은 복사의 이해


    '공감'버튼 및 '좋아요'는 글쓴이에게 큰 힘이 됩니다!

    (클릭)블로그 구독도 부탁드립니다.(네이버이웃 추가)



    Posted by 천상나타