객체와 싱글톤

객체 표현식으로 사용하는 익명 객체

// object.kt
fun drawCircle() {
    val circle = object { // an expression
        val x = 10
        val y = 20
        val radius = 30

        fun printCalculateCircumference() {
            val answer = 2 * radius * 3.14
            println("""
            Circumference Is 2 * $radius * 3.14
            The Answer Is $answer
            """)
        }
    }

    circle.printCalculateCircumference()
}

fun main () {
    drawCircle()
}
// anonymous.kt

fun createRunnable(): Runnable {
    val runnable = object: Runnable {
        override fun run() {println("You called...")}
    }

    return runnable
}

fun main () {
    createRunnable().run()

    val aRunnable = createRunnable()

    aRunnable.run()
}

객체 선언을 이용한 싱글톤