Type을 다루는 방법

  • 코틀린의 변수는 초기값을 보고 타입을 추론하며, 기본 타입들 간의 변환은 명시적으로 이루어진다.
  • 코틀린에서는 is, !is, as, as? 를 이용해 타입을 확인하고 캐스팅한다
  • Any는 Java의 Object와 같은 최상위 타입이다.
  • Unit은 Java의 void와 동일하다
  • Nothing은 정상적으로 끝나지 않는 함수의 반환을 의미한다

1.기본타입

  • 코틀린에서는 선언된 기본값을 보고 타입을 추론한다
  • Java는 기본 타입간의 변환은 암시적으로 이루어질 수 있다.
  • kotlin은 기본 타입간의 변환은 명시적으로 이루어져야 한다.
  • 코틀린에서 타입 변환을 하기 위해서는 명시적으로 to변환을 사용해야 한다.
fun main() {
    val number1 = 3
    val number2: Long = number1.toLong()
}

2.타입 캐스팅

Java

 public static void printAgeIfPerson(Object obj) {
    if (obj instanceof Person) {
      Person person = (Person) obj;
      System.out.println(person.getAge());
    }
  }

Kotlin

fun printAgeIfPerson(obj: Any) {
    if (obj is Person) {
        val person = obj as Person
        println(person.age)
        print(obj.age) // 이거도 가능 , 
    }
}

Any

  • Java의 Object 역할 (모든객체의 최상위 타입)
  • 모든 Primitive Type의 최상의 타입도 Any이다.
  • Any 자체로는 null을 포함할 수 없어 null을 포함하고 싶다면 Any? 로 표현해야 한다
  • Any에 equals / hashCode / toString 존재

String interpolation / String indexing

 val person = Person("김영환", 40)
    println("이름 : ${person.name}")

'코틀린 > 기본' 카테고리의 다른 글

null을 다루는 방법  (0) 2023.04.01
[문법] For / While / Nullable / NonNull / ?:  (0) 2022.12.25
[문법] When, Array, List  (0) 2022.12.24

댓글

Designed by JB FACTORY