[kotlin] 코틀린 object 식의 익명 객체 생성 방법

코틀린에서는 익명 객체를 만드는 데 사용할 수 있는 Object 표현식을 제공합니다. Object 표현식을 사용하면 클래스 정의 없이 임시 객체를 만들 수 있습니다.

Object 표현식의 사용법

Object 표현식을 사용하려면 다음과 같이 작성합니다.

val obj = object : SuperType() {
    // 멤버 정의
}

여기서 SuperType은 익명 객체가 상속할 수 있는 타입(클래스 또는 인터페이스)을 나타냅니다. obj는 익명 객체를 가리키는 변수입니다.

익명 객체의 멤버 정의

Object 표현식 내부에는 익명 객체가 가져야 할 멤버를 정의할 수 있습니다. 예를 들어:

val obj = object : SuperType() {
    val property: Int = 5
    fun method() { 
        // 메소드 구현 
    }
}

위 예제에서는 propertymethod를 익명 객체 내부에 정의하고 있습니다.

예제

open class SuperType {
    open fun display() {
        println("SuperType display")
    }
}

fun main() {
    val obj = object : SuperType() {
        override fun display() {
            println("Display inside anonymous object")
        }
    }

    obj.display()
}

위 예제에서는 SuperType을 상속받는 익명 객체를 생성하여 display 메소드를 오버라이딩하고 있습니다. 실행 결과는 “Display inside anonymous object”가 출력됩니다.

Object 표현식을 사용하면 코틀린에서 간단하게 익명 객체를 만들 수 있으며, 이는 특히 객체 지향 프로그래밍의 다형성과 관련된 작업에서 유용하게 활용될 수 있습니다.

참고 자료