KOTLIN · 기초 문법
비교 연산 (Equality & Comparison)
Kotlin은 구조적 동등성(==)과 참조 동등성(===)을 구분합니다. ==는 내부적으로 equals()를 호출합니다.
기초 문법입문equalitycomparablereference-equality
핵심 설명
Kotlin은 구조적 동등성(==)과 참조 동등성(===)을 구분합니다. ==는 내부적으로 equals()를 호출합니다.
Kotlin code
fun main() {
val a = "Hello"
val b = "Hello"
val c = String("Hello".toCharArray())
println(a == b) // true (구조적 동등)
println(a === b) // true (문자열 풀)
println(a == c) // true (구조적 동등)
println(a === c) // false (다른 객체)
// Comparable 구현
data class Version(val major: Int, val minor: Int) : Comparable<Version> {
override fun compareTo(other: Version) =
compareValuesBy(this, other, { it.major }, { it.minor })
}
println(Version(2, 0) > Version(1, 9)) // true
}학습 팁
compareValuesBy()를 사용하면 여러 속성을 순차적으로 비교하는 Comparable을 간결하게 구현할 수 있습니다.
주의할 점
Java와 달리 Kotlin의 ==는 equals()를 호출합니다. 참조 비교가 필요하면 ===를 사용하세요.
자주 묻는 질문
비교 연산 (Equality & Comparison)란 무엇인가요?
Kotlin은 구조적 동등성( == )과 참조 동등성( === )을 구분합니다. == 는 내부적으로 equals() 를 호출합니다.
비교 연산 (Equality & Comparison) 학습 시 주의할 점은 무엇인가요?
Java와 달리 Kotlin의 == 는 equals() 를 호출합니다. 참조 비교가 필요하면 === 를 사용하세요.
Continue Learning
Kotlin 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.