수색…


소개

객체object 키워드를 사용하여 선언 할 수있는 특별한 종류의 클래스입니다. 객체는 java의 Singleton (디자인 패턴)과 유사합니다. 또한 java의 정적 부분으로도 작동합니다. 자바에서 코 틀린으로 전환하는 초보자는 정적 또는 싱글 톤 대신이 기능을 광범위하게 사용할 수 있습니다.

자바의 정적 메소드 / 필드의 repalcement로 사용

object CommonUtils {

    var anyname: String ="Hello"

    fun dispMsg(message: String) {
        println(message)
    }
}

다른 클래스에서 다음과 같이 변수와 함수를 호출하면됩니다.

CommonUtils.anyname
CommonUtils.dispMsg("like static call")

싱글 톤으로 사용

Kotlin 객체는 실제로는 싱글 톤입니다. 그 주요 장점은 SomeSingleton.INSTANCE 를 사용하여 싱글 톤의 인스턴스를 가져올 필요가 없다는 것입니다.

자바에서는 싱글 톤이 다음과 같이 보입니다.

public enum SharedRegistry {
    INSTANCE;
    public void register(String key, Object thing) {}
}

public static void main(String[] args) {
    SharedRegistry.INSTANCE.register("a", "apple");
    SharedRegistry.INSTANCE.register("b", "boy");
    SharedRegistry.INSTANCE.register("c", "cat");
    SharedRegistry.INSTANCE.register("d", "dog");
}

kotlin에서 동일한 코드는 다음과 같습니다.

object SharedRegistry {
    fun register(key: String, thing: Object) {}
}

fun main(Array<String> args) {
    SharedRegistry.register("a", "apple")
    SharedRegistry.register("b", "boy")
    SharedRegistry.register("c", "cat")
    SharedRegistry.register("d", "dog")
}

그것은 obvoiusly 덜 사용하는 덜 장황하다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow