Kotlin Any 클래스 완벽 이해하기

✨ 개요

코틀린 Any는 모든 클래스의 최상위 타입입니다. Java의 Object와 유사하지만, 더 간결하고 명확한 타입 계층을 제공함 클래스 선언 시 명시적으로 상속하지 않아도 자동으로 Any를 상속함


1. 🧩 Any 클래스의 역할과 기본 메서드

open class Any {
    open operator fun equals(other:Any?): Boolean
    open fun hashCode(): Int
    open fun toString(): Stringoverride fun equals(other: kotlin.Any?): Boolean {
        if (this === other) return true
        if (javaClass != other?.javaClass) return false
        return true
    }
}

2. ⚙️ Java Object vs Kotlin Any

항목 Kotlin Any Java Object
최상위 타입 모든 클래스의 부모 모든 클래스의 부모
메서드 수 3개 (equals, hashCode, toString) 11개 이상 (wait, notify 등 포함)
Thread 관련 메서드 없음 있음 (wait, notify)
Nullable 여부 Any는 non-nullable Object는 nullable 가능

3. 🧪 Any? Unit 차이

fun example(): Any? = null
fun doSomething(): Unit = println("Done")

4. 🧾 결론



Related Posts