'java'에 해당되는 글 5건

  1. 2020.11.04 JAVA 싱글턴 패턴
Java2020. 11. 4. 13:06

자바 프로그래밍을 하다보면..싱글턴 패턴을 이용할 때가 많다.

인스턴스를 하나만 이용하고 재사용을 함으로써 매번 객체를 생성하는 불필요함을 막는 패턴인데,

자바 프로젝트마다 대부분 이용을 하게되는 것 같다.

자바 뿐만이 아닌 Objective-C 에서도 사용했었고..다른 언어에서도 많이 쓰이는 패턴이다.

 

getInstance 메소드 예)

 

public class TestClass {
    private static TestClass instance;

    public static TestClass getInstance() { //getInstance 메소드는 static
        if (instance == null) {
            instance = new TestClass();
        }
        return instance;
    }
}

 

안드로이드에서는..요런식으로 나는 많이 쓴다.

 

public Class MainActivity extends BasicActivity {

    private MainActivity mInstance;

    public static MainActivity getInstance() {
        return mInstance;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mInstance = this;
    }
}


동기화를 보장하지 않으면..흔하진 않으나 많은 스레드에서 접근시 인스턴스가 2개가 생성되어 쪼개지는 경우도 있다고 한다. synchronized를 이용하여 동기화를 걸어주는것이 안정적인데, 상황에 따라서 적용 여부는 달라질듯 하다.

 

 

public class TestClass {
    private static TestClass instance;

    public synchronized static TestClass getInstance() { 
        //synchronized를 걸어준다. 메소드, 구문, 변수 등 적용 방법은 다양하다.
        if (instance == null) {
            instance = new TestClass();
        }
        return instance;
    }
}

 

'Java' 카테고리의 다른 글

Map을 Json으로 - Gson  (0) 2020.11.07
java byte order 변경 메소드  (0) 2020.11.07
Eclipse Code template 적용하기  (0) 2020.11.07
Java cacerts 인증서 추가(keytool 이용)  (0) 2020.11.06
JDK 환경변수 설정  (0) 2020.11.04
Posted by 사슴영혼'-'