ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ Kotlin ] 자료형 - 비교, 검사, 변환
    Kotlin 2020. 7. 29. 18:25

     

     변환 ( 캐스팅 )

    Kotlin 에서는 암시적 형변환을 제공하지 않습니다.

     

    위와 같이 코드를 작성하면 두 번째 줄에서 오류를 터트리고 컴파일이 되지 않습니다. 따라서 자료형 변환을 해주어야 합니다.

    자료형 변환 메서드

    메서드 설명 메서드 설명
    toByte() Byte 타입으로 변환 toFloat() Float 타입으로 변환
    toLong() Long 타입으로 변환 toInt() Int 타입으로 변환
    toChar() Char 타입으로 변환 toShort() Short 타입으로 변환
    toDouble()
    Double 타입으로 변환 toString() String 타입으로 변환

    스마트 캐스트

    컴파일러가 개발자 대신 형 변환을 해주는 기능을 스마트 캐스트라고 부릅니다.

    예를 들면, 만약 어떤 값이 정수일 수도 있고 실수일 수도 있는 경우 필요시마다 자료형을 변환해도 되지만 Number형을 사용하면 컴파일러가 자동으로 형 변환을 해줍니다.

     

    상위 자료형

    자료형 설명
    Any 모든 자료형의 부모(superclass)
    Number Int, Long, Float 등 숫자형 자료형의 부모

     

     

     비교

    자료형을 비교할 때는 단순히 값만 비교하는 방법과 참조 주소까지 비교하는 방법이 있습니다.

    단순히 값만 비교할 대는 이중등호(==)를 사용하고 참조 주소를 비교하려면 삼중 등호(===)를 사용합니다. Java에서는 == 으로 값과 참조를 모두 비교할 수 있고 === 는 없습니다.

    이중등호 ( == )

    참조에 상관 없이 값만 비교하여 동일하면 true를 다르면 false를 반환합니다.

    삼중등호 ( === )

    참조가 동일하면 true를 다르면 false를 반환합니다.

    비교하는 값이 만일 -128 ~ 127이라면 삼중 등호를 이용해 비교하는 것이 제한됩니다. 1바이트로 표현 가능한 데이터는 캐시에 저장되기 때문에 2번째 코드에서 비교한 결과가 모두 true으로 나타납니다.

     

     

     검사

    is 키워드를 사용한 검사

    is 키워드는 각 자료형이 무엇인지 파악할 때 사용합니다. 또한 자료형을 is로 검사하게 되면, 해당 자료형을 변환하는 기능이 존재합니다. is 키워드는 주로 Any 자료형과 함께 사용합니다.

     

     

    출처

    'Kotlin' 카테고리의 다른 글

    [ Kotlin ] 람다식 ( Lambda )  (0) 2020.08.04
    [ Kotlin ] 함수형 프로그래밍  (0) 2020.08.03
    [ Kotlin ] 함수  (0) 2020.08.03
    [ Kotlin ] 자료형 - 논리 자료형과 문자형  (0) 2020.07.29
    [ Kotlin ] 자료형 - 정수형과 실수형  (0) 2020.07.29

    댓글

Designed by Tistory.