Hello, Android!

코틀린의 Any 본문

Kotlin

코틀린의 Any

lwndnjs93 2020. 2. 22. 19:04

코틀린에서 변수를 사용할때 타입을 명시해야한다

만약 타입을 명시하지 않을 경우 할당한 값을 보고 컴파일러가 타입을 정해준다

또한 Int 타입의 값을 String에 넣을때는 캐스팅을 해야한다

 

하지만 자료형이 정해지지 않아 어떠한 타입이든 할당이 가능한 Any 타입이 있다

Any는 모든 클래스의 뿌리가 된다

Int, String뿐만 아니라 사용자가 만든 클래스까지 Any 타입의 자식이 된다

이 말은 코틀린의 모든 클래스는 Any를 슈퍼클래스로 갖게 된다

위의 test 함수에 값을 넘겨주면 args로 받는데, args는 Any타입이기 때문에

함수 호출시 어떠한 타입의 값이든 넘겨줄 수 있다

그리고 받은 args를 if문에서 타입 비교를 하면서 자동으로 스마트 캐스팅이 되어

Int 일때는 if문 안에서 args의 타입이 Int 타입이 되고

String에서는 if문 내에서 args의 타입이 String 타입이 된다

'Kotlin' 카테고리의 다른 글

함수의 매개변수  (0) 2020.02.23
코틀린의 연산자  (0) 2020.02.23
스마트 캐스트, 자료형 검사  (0) 2020.02.22
코틀린의null  (0) 2020.02.19
문자열 String  (0) 2020.02.18