is 연산자란 java에서 InstanceOf의 키워드와 동일한 역할을 한다.
다시 말하자면, 참조 변수가 실제로 가리키고 있는 객체의 타입을 알아낼 수 있는 역할을 한다.
이에 대한 예제는 다음과 같다.
open class Person(val name: String, val age: Int)
class Student(name: String, age: Int, val id: Int) : Person(name, age)
class Professor(name: String, age: Int) : Person(name, age)
fun main(args: Array<String>)
{
val person: Person = Student("Mark Zuckerberg", 33, 20171225)
println(person is Person)
println(person is Student)
println(person is Professor)
val person2: Person = Professor("Kim", 48)
println(person2 is Person)
println(person2 is Student)
println(person2 !is Professor)
}
위의 예제 코드를 확인할 수 있듯이 객체 타입을 비교 하고 있으며, 이에 대한 결과는 다음과 같다.
println(person is Person) : true
println(person is Student) : true
println(person is Professor) : false
println(person2 is Person) : true
println(person2 is Student) : false
println(person2 !is Professor) : false
참고 : 초보자를 위한 Kotlin 200제 라는 책을 기반으로 공부 내용을 정리하였습니다.
'Kotlin' 카테고리의 다른 글
[Kotlin] Sealed Class (0) | 2020.09.01 |
---|---|
[Kotlin] 확장함수 / 확장 프로퍼티 (0) | 2020.09.01 |
[Kotlin] Nothing type, Nullable, null (0) | 2020.08.31 |
[Kotlin] Class (0) | 2020.08.29 |
[Kotlin] lateinit (0) | 2020.08.29 |