Development Tip

Kotlin의 정적 초기화 블록

yourdevel 2020. 11. 24. 20:01
반응형

Kotlin의 정적 초기화 블록


Kotlin 정적 초기화 블록해당하는 것은 무엇입니까 ?

Kotlin이 정적 인 요소를 갖지 않도록 설계되었음을 이해합니다. 동일한 의미를 가진 무언가를 찾고 있습니다. 클래스가 처음로드 될 때 코드가 한 번 실행됩니다.

내 특정 사용 사례는 Android AppCompat 라이브러리에서 DayNight 기능을 사용하도록 설정하고 클래스의 정적 초기화 블록에 코드를 넣으 라는 지침Application 입니다.


어떤 관점에서 보면 Kotlin companion object의 s 는 자바 클래스의 정적 부분과 동일합니다. 특히 클래스가 처음 사용되기 전에 초기화되며이를 통해 해당 init블록을 Java 정적 이니셜 라이저의 대체물로 사용할 수 있습니다 .

class C {
    companion object {
        init {
            //here goes static initializer code
        }
    }
}

companion object  { 
    // Example for a static variable
    internal var REQUEST_CODE: Int? = 500

    // Example for a static method
    fun callToCheck(value: String): String {
        // your code
    }
}

클래스 내부의 객체 선언은 동반 키워드로 표시 될 수 있으며,이 아래에서 자바 정적 메소드 및 변수와 같은 것을 사용할 수 있습니다 .LIke classname.methodname 또는 classname.variablename

참고 URL : https://stackoverflow.com/questions/37262468/static-initialisation-block-in-kotlin

반응형