본문

코틀린(Kotlin) 기본 문법 - 3

도입

이번 포스팅에서는 코틀린의 기본 문법 중 자료형과 관련된 문법을 살펴볼 예정이다.



기본 문법(자료형)

1. "==", "===" 키워드

코틀린에서는 "===" 키워드를 제공한다. 해당 키워드의 기능은 객체가 동일한지 확인하는 역할을 한다.

1
2
3
4
5
6
7
8
9
10
11
fun keywordEqual(name1: String, age1: Int, name2: String, age2: Int) {
    val a: Pair<String, Int> = Pair(name1, age1)
    val b = a
    val c: Pair<String, Int> = Pair(name2, age2)
 
    Log.e("heepie""a == b  \t ${a == b}\n" +
                    "a == c  \t ${a == c}\n" +
                    "a === b \t ${a === b}\n" +
                    "a === c \t ${a === c}\n")
    }
}
cs


2. "Is" 키워드

코틀린의 "Is" 키워드는 자바의 instanceOf와 동일하다. "Is" 뒤의 자료형 명시하고 해당 자료형인지를 판단한다.

1
2
3
4
5
6
7
8
fun keywordIs(input: Any) {
    when(input) {
        is Int      ->  Log.e("heepie""Int")
        is String   ->  Log.e("heepie""String")
        is Double   ->  Log.e("heepie""Double")
        is Float    ->  Log.e("heepie""Float")
    }
}
cs


3. "As" 키워드

코틀린의 "As" 키워드는 자료형을 형변환한다. 자바의 경우 "()"괄호를 통해 형변환을 했지만 코틀린은 "As"를 통해 형변환 한다.

1
2
3
4
fun keywordAs(input: Number) {
    val output = input as Double
    Log.e("heepie""input: $input\touput: $output")
}
cs


4. Smart Cast

코틀린은 스마트 캐스트 기능을 제공한다. 자바의 경우, instanceOf를 통해 자료형을 확인한 후 형변환을 통해 객체를 사용했다면 코틀린은 스마트 캐스트로 "Is"로 자료형을 확인하면 자동으로 형변환을 해준다.

1
2
3
4
5
6
fun keywordSmartCast(input: Any) {
    // 형변환을 확인 후 직접 형변환을 하는 것이 아니라 자동으로 형변환 진행
    when(input) {
        is String   ->  Log.e("heepie""${input.substring(4)}")
    }
}
cs



#코틀린 #kotlin #스마트 캐스트 #smart cast

공유

댓글