자바에서 타입 캐스팅은
객체 앞에 괄호를 붙이는 식으로 진행을 했었다.
고양이라는 클래스가 동물 클래스를 상속받았다면
(동물)고양이
이런 식으로 고양이타입을 동물 타입으로 업 캐스팅할 수 있었다.
그리고 다운 캐스팅도 마찬가지로 앞에 괄호를 붙이는 식이었다.
하지만 코틀린에서는
괄호 대신 예약어
is, as 를 사용한다.
is는 자바의 instanceof와 같은 기능을 제공하면서 타입 캐스팅까지 진행된다.
즉, if문 안에서 is 문을 사용하여 타입 캐스팅이 진행되며,
if문 안에서만 사용할 수 있다.
그리고 as 예약어는
다운 캐스팅에만 사용할 수 있으며
a = b as c 로 캐스팅 시
a 에는 캐스팅된 값이 들어가는 것으로 쉽게 이해되지만
b 또한 캐스팅된 값이 들어가
a와 b가 같아 진다.
반응형