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

+ Recent posts