메뉴 건너뛰기

?

단축키

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
번호 제목 날짜 조회 수
197 안드로이드 스튜디오 - getter/setter 메소드 자동생성 file 2021.03.29 583
196 안드로이드 스튜디오 actionbar(액션바) 사라짐 file 2020.12.14 608
195 [Android] 퍼미션 권한체크(테드퍼미션) 2021.09.14 616
» 안드로이드 스튜디오 - 싱글톤 패턴 (SingleTon Pattenr) 클래스 자동 생성 file 2021.03.29 621
193 안드로이드 - 갤러리에서 이미지 가져오기 2021.04.02 666
192 안드로이드 - AlertDialog 사용하여 알림창 띄우는 방법 총정리 file 2021.03.31 690
191 안드로이드 - 리사이클러뷰 (RecyclerView) notifyDataSetChanged 실행 시 깜빡 거리는 현상 2021.04.02 748
190 안드로이드에서 url 주소로 이미지 바로 불러오기 (Glide 사용) 2020.12.14 759
189 Firebase - 푸시알림 보내기 (2) 2021.09.30 768
188 안드로이드 - 문자열 배열 리소스 추가하기 <string-array> file 2021.03.31 811
187 안드로이드 - RatingBar를 통해 별점주기 file 2021.04.02 848
186 안드로이드 - Json 파싱하기 file 2021.04.02 851
185 ListView 리스트뷰 연습3 - 커스텀 리스트뷰 (Custom ListView) file 2020.12.14 906
184 안드로이드 - 문자열 리소스(Resource) 추가 및 참조하기 file 2021.03.31 906
183 안드로이드 - RecyclerView의 ViewType 구분하기 file 2021.04.02 931
182 안드로이드 - 플로팅 액션 버튼(Floating Action Button) 사용법 file 2021.04.02 969
181 하이브리드앱 기본 - WebView로 웹페이지 띄우기 file 2020.12.14 1025
180 WebView 작업할때 Net::ERR_UNKNOWN_URL_SCHEME 에러 발생할때 (전화걸기,문자보내기 안된다) 2020.12.14 1069
179 안드로이드 - KeyEvent(키 이벤트) 처리 file 2021.04.02 1214
178 안드로이드 - 텍스트뷰(TextView) 사용법 정리 file 2021.03.31 1251
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved