티스토리 뷰

자료형이 다를 때는 변환을 해줘야 합니다.

        val a: Int = 1
        val b: Double = a.toDouble()    // Double로 변환
        println(b)    // 1.0

Int를 Double로 바꿀 때 .toDouble()를 사용합니다.

 

다른 자료형들도 같은 방식으로 변환해주면 됩니다.

toByte()

toFloat()

toLong()

toDouble()

toShort()

toChar()

toInt()

toString()

 

 

값이 정수일 수도 있고 실수일 수도 있을 때는 스마트 캐스트를 사용합니다.

        var a: Number = 1   // Int형으로 스마트 캐스트
        println(a)          // 1
        a = 1.2             // Double형으로 스마트 캐스트
        println(a)          // 1.2
        a = 2L              // Long형으로 스마트 캐스트
        println(a)          // 2
        a = 3f              // Float형으로 스마트 캐스트
        println(a)          // 3.0

Number에 숫자를 저장하면 값에 따라 정수형이나 실수형 등으로 자료형이 변환됩니다.

 

 

다음은 자료형을 검사하는 코드입니다.

        val num = 1
        if (num is Int) {   // num이 Int일 때 실행
            println("Int가 맞습니다")    // 출력됨
        } else if (num !is Int) {   //num이 Int가 아닐 때 실행
            println("Int가 아닙니다")
        }

is를 사용하여 해당 자료형인지 확인합니다.

!is를 사용하면 해당 자료형이 아닐때 실행됩니다.

 

 

Any형은 자료형이 특별히 정해지지 않은 경우에 사용합니다.

        var num: Any = 1
        println(num.javaClass)  // Integer
        num = "OSZ"
        println(num.javaClass)  // String

첫번째 줄에서 숫자를 넣어 두번째 줄에서 Integer가 출력됬지만 세번째 줄에서 문자열을 넣어 네번째 줄에서는 String가 출력됩니다.

 

 

Any형으로 인자를 받는 함수입니다.

    fun main() {
        checkArg("OSZ")
        checkArg(79)
    }

    fun checkArg(x: Any) {
        if (x is String) {
            println(x)
        }
        if (x is Int) {
            println(x)
        }
    }

OSZ

79

이렇게 출력됩니다.

'코틀린 네이티브' 카테고리의 다른 글

코틀린 람다식  (0) 2020.10.21
코틀린 함수 선언하고 호출하기  (0) 2020.10.20
코틀린 연산자  (0) 2020.10.20
코틀린 물음표(?) 사용하여 null 허용하기  (0) 2020.10.18
코틀린 변수와 자료형  (0) 2020.10.18
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함