[kotlin] 코틀린 object 식의 익명 객체 생성 방법
코틀린에서는 익명 객체를 만드는 데 사용할 수 있는 Object 표현식을 제공합니다. Object 표현식을 사용하면 클래스 정의 없이 임시 객체를 만들 수 있습니다.
Object 표현식의 사용법
Object 표현식을 사용하려면 다음과 같이 작성합니다.
val obj = object : SuperType() {
// 멤버 정의
}
여기서 SuperType
은 익명 객체가 상속할 수 있는 타입(클래스 또는 인터페이스)을 나타냅니다. obj
는 익명 객체를 가리키는 변수입니다.
익명 객체의 멤버 정의
Object 표현식 내부에는 익명 객체가 가져야 할 멤버를 정의할 수 있습니다. 예를 들어:
val obj = object : SuperType() {
val property: Int = 5
fun method() {
// 메소드 구현
}
}
위 예제에서는 property
와 method
를 익명 객체 내부에 정의하고 있습니다.
예제
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 표현식을 사용하면 코틀린에서 간단하게 익명 객체를 만들 수 있으며, 이는 특히 객체 지향 프로그래밍의 다형성과 관련된 작업에서 유용하게 활용될 수 있습니다.