[kotlin] 코틀린 object 선언 내부에서의 클래스 생성 방법

코틀린에서 object 선언 내부에서 클래스를 생성하는 방법은 일반적인 방식과 약간 다릅니다. object 선언은 싱글톤으로 동작하기 때문에 내부 클래스를 생성할 때에도 특별한 주의가 필요합니다.

1. 내부 클래스 생성하기

내부 클래스를 object 선언 내에서 생성하기 위해서는 두 가지 방법을 사용할 수 있습니다.

1-1. companion object 내부에서 클래스 생성

object OuterClass {
    // 기본 클래스 내부에 생성
    class InnerClass {
        // 내부 클래스 구현
    }
}

1-2. 익명 객체를 사용하여 내부 클래스 생성

object OuterClass {
    val innerInstance: Any = object {
        // 익명 객체 내부에서 클래스 생성
    }
}

// 또는
val outerInstance = object {
    object InnerClass {
        // 익명 객체 내부에서 클래스 생성
    }
}

2. 내부 클래스 사용하기

내부 클래스를 생성한 후에는 외부 클래스 내부에서 내부 클래스를 사용할 수 있습니다.

2-1. companion object 내부 클래스 사용

val innerInstance = OuterClass.InnerClass()

2-2. 익명 객체로 생성한 내부 클래스 사용

val innerInstance = outerInstance.InnerClass()

object 선언 내부에서 클래스를 생성하는 방법에 대해 간략히 알아보았습니다. 이와 관련된 더 많은 정보는 코틀린 공식 문서에서 확인할 수 있습니다.

내부 클래스 생성 방법에 대한 자세한 내용이 필요하다면 추가적인 자료를 참고하시기 바랍니다.