티스토리 뷰

Android/안드로이드 Singleton Pattern 알아보자!

Singleton 이란..

singleton ? 처음들어보신분들도있고, 많이 들어보신분들도 있으실텐데요.

왜쓰는지 먼저 알아봅시다.


소프트웨어 디자인 패턴에서 싱글턴 패턴(Singletonpattern)을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다.

예...구글님의 위키백과가 이런식으로 알려주시네요......


말보다는 역시 코드로 봐야겟죠?


public class Global {
private static volatile Global global = null;
private Global(){}
public static Global getInstance() {
if (global == null) {
synchronized (Global.class) {
if (global == null) {
global = new Global();
}
}
}
return global;
} }

위와같이 Global 이라고 Singleton 으로 하나의 인스턴스를 가지고있는 클래스파일을 가져옵니다.

위의 클래스의 인스턴스는 하나라서, 데이터가 공유가 가능합니다.

따라서 A B C 액티비티에서 데이터값이 공유되거나 변경될시, 하나하나 Intent로 넘기면서 받는것보단, global 에 변수를 하나 생성하여, getter setter 를만들어 변경후, intent시 global 클래스에 넣어주고, B액티비티에서는 다시 가져와사용하고 넣어주고를 하시면 됩니다~





Recent Comments