Language/kotlin

Type을 다루는 방법

kimjingyu 2023. 5. 17. 02:24
728x90

1. 기본 타입

  • 코틀린에서는 선언된 기본값을 보고 타입을 추론한다.
  • 자바와 다른 점
    • 자바: 더 큰 타입으로의 기본 타입간의 변환은 암시적으로 이루어질 수 있다.
    • 코틀린: 기본 타입간의 변환은 명시적으로 이루어져야 한다.
  • 코틀린은 타입 변환시 to변환타입() 메서드를 사용해야 한다.

2. 타입 캐스팅

  • value is Type
    • value가 Type이면, true 반환
    • value가 Type이 아니면, false 반환
  • value !is Type
    • value가 Type이면, false 반환
    • value가 Type이 아니면, true 반환
  • value as Type
    • value가 Type이면,Type으로 타입 캐스팅
    • value가 Type이 아니면, 예외 발생
  • value ?as Type
    • value가 Type이면, Type으로 타입 캐스팅
    • value가 null이면, null
    • value가 Type이 아니면, null

3. Kotlin의 3가지 특이한 타입

  • Any
    • 모든 객체의 최상위 타입이다.
    • 모든 Primitive Type의 최상위 타입도 Any이다.
    • null을 포함하고 싶으면, Any?로 표현한다.
    • Any에 equals, hashCode, toString이 존재한다.
  • Unit
    • 자바의 void와 동일한 역할을 한다.
    • void와 다르게 Unit은 그 자체로 타입 인자로 사용이 가능하다.
    • 함수형 프로그래밍에서 Unit은 단 하나의 인스턴스만을 갖는 타입을 의미한다. 즉, 코트린의 Unit은 실제로 존재하는 타입이라는 것을 표현한다.
  • Nothing
    • 함수가 정상적으로 끝나지 않았다는 사실을 표현하는 역할을 한다.
    • 무조건 예외를 반환하는 함수, 무한 로프 함수 등에서 사용한다.

4. String Interpolation, String indexing

  • String Interpolation
    • 문자열 가공시, ${변수}와 여러 줄에 걸친 문자열을 작성해야 할 때는 """ """ 를 사용하면 깔끔한 코딩이 가능하다.
  • String indexing
    • 문자열에서 문자를 가져올때, [index]를 사용한다.
728x90