메뉴 건너뛰기

?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

디자인 패턴(Design Pattern) 중 싱글톤(Singleton) 패턴은 특정 클래스에 대한 인스턴스를 단 한 번만 Static 메모리 영역에 할당하고 해당 클래스에 대한 생성자를 여러 번 호출하더라도 최초에 생성된 객체를 반환하는 디자인 패턴입니다. 즉 애플리케이션의 특정 클래스에 대한 유일 객체를 보장하는 디자인 형태라고 볼 수 있습니다. 

 

일반적으로 싱글톤 패턴이 적용된 클래스에 대한 new 연산을 수행하더라도 이미 한번 할당된 메모리 영역의 인스턴스를 사용하기 때문에 무분별한 new 연산으로 인한 메모리 낭비를 방지 할 수 있습니다. 안드로이드 스튜디오에서는 클래스 파일을 생성하는 시점에 자동으로 싱글톤 패턴이 적용된 클래스 형태로 파일을 생성해줍니다. 

public class MovieDatabaseManager {

    private static MovieDatabaseManager myDBManager = null;

	//MovieDatabaseManager 싱글톤 패턴으로 구현
    public static MovieDatabaseManager getInstance(Context context)
    {
        if(myDBManager == null)
        {
            myDBManager = new MovieDatabaseManager(context);
        }

        return myDBManager;
    }
}

1. Android Studio 자동 생성

 

 

▼ 클래스 파일을 생성하고자 하는 Directory에서 우 클릭을 통해 [New]-[Java class] 메뉴를 클릭합니다.

 

 

 

▼ 생성하는 class 파일의 Class Name을 지정하고 Kind Tab을 열어 Singleton을 선택해줍니다. 그 다음 OK 버튼을 클릭하면 아래와 같이 자동으로 싱글톤 패턴이 적용된 클래스가 생성되는 것을 확인할 수 있습니다.

 

 

 

 

public class sample {
    private static final sample ourInstance = new sample();

    public static sample getInstance() {
        return ourInstance;
    }

    private sample() {
    }
}

List of Articles
번호 제목 날짜 조회 수
77 안드로이드 스튜디오 actionbar(액션바) 사라짐 file 2020.12.14 704
76 패키지명을 한꺼번에 변경하기 (Refactor) file 2020.12.14 341
75 하이브리드앱 기본 - WebView로 웹페이지 띄우기 file 2020.12.14 1082
74 ListView 리스트뷰 연습3 - 커스텀 리스트뷰 (Custom ListView) file 2020.12.14 951
73 초기화면 페이지를 만들어보자. splash 페이지 제작 file 2020.12.14 335
72 안드로이드 앱배포하기 apk 만들기 file 2020.12.14 377
71 안드로이드 입문 연습문제 3문항 - CheckBox, RadioButton, EditText, Spinner, 이벤트연습 file 2020.12.14 526
70 Apk manager 이용해 Decompile (디컴파일) 하기 file 2021.03.16 1701
69 안드로이드 arrayList 를 Json으로 변환 / jsonarry file 2021.03.29 382
68 안드로이드 unescape /escape [StringEscapeUtils로 해결] file 2021.03.29 386
» 안드로이드 스튜디오 - 싱글톤 패턴 (SingleTon Pattenr) 클래스 자동 생성 file 2021.03.29 667
66 안드로이드 스튜디오 - getter/setter 메소드 자동생성 file 2021.03.29 625
65 안드로이드 스튜디오 - 필수 재정의 함수 자동 코드 추가 file 2021.03.29 247
64 안드로이드 스튜디오 - 코드 자동 들여쓰기 file 2021.03.29 457
63 안드로이드 - 리니어 레이아웃 (Linear Layout) file 2021.03.29 360
62 안드로이드 - 랠러티브 레이아웃(Relative Layout) file 2021.03.29 286
61 안드로이드 - 프레임레이아웃 (FrameLayout) file 2021.03.29 566
60 안드로이드 - 에디트텍스트(EditText) 사용법 정리 file 2021.03.29 2800
59 버튼 생성, 이벤트 처리 file 2021.03.31 276
58 Java에서 XML 불러와서 동적 변화 주기 file 2021.03.31 322
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved