kotlin

[코틀린] is, as 키워드

LimeCoding 2022. 7. 27. 18:50

is 키워드


is키워드는 특정 자료형과 같은 타입인지를 검사하는 키워드이다. 다음은 is 키워드의 사용 예시이다.

fun main() {
    val str = "Hello"

    if(str is String){
        println(str)
    } else if (str !is String){
        println("it's not a String")
    }
    // 결과 : str 출력
}

 

as 키워드


as키워드는 두 가지 기능을 가지고 있다. 하나는 타입 캐스트를 위한 as이고 다른 하나는 import를 하기 위해 별명을 붙이는 기능이다.

타입 캐스트를 위한 as는 다음과 같다.

fun main() {
    val x: Any = "String"
    val a: String = x as String // String 타입으로 형변환

    println(a is String)
}

아직 필자는 이 as 키워드의 형변환의 유용성을 잘 모르겠다. as 키워드로 string에서 int로 형변환을 하면 오류가 발생한다. 차라리 toInt()같은 형변환이 더 유용하다고 생각한다.(더 공부하여 그 의미를 알면 수정해야겠다.)

혹시 모르니 형변환 as 키워드에 대한 블로그 내용을 링크에 걸어두겠다.

 

TypeCheck (‘is’) and Cast (‘as’) in Kotlin

Type check is a way of checking the type(DataType) or Class of a particular instance or variable while runtime to separate the flow for different objects. In few languages, it’s also denoted as Run Time Type Identification (RTTI).

agrawalsuneet.github.io

 

두 번째로 별명으로써 as 키워드이다.

이건 하나의 파일에서 다른 파일의 class를 참조할 때 동일한 이름을 가진 클래스가 두 파일에 존재햐여 생기는 모호함을 없애기 위한 키워드이다. 예를 들어 현재 파일에 User라는 클래스가 있는데 다른 파일에 접근하려는 클래스 또한 User 인경우 임포트할 때 다른 파일의 클래스의 별명을 otherUser와 같은 방식으로 이름을 짓는 걸 말한다.

import game.userList.User as otherUser // game.userList 안에 User class를 otherUser로 접근 

class User()

fun main() {
    val user1 = otherUser("Hong")
    println(user1.name)
}

 

'kotlin' 카테고리의 다른 글

[코틀린]NULL값 다루기  (0) 2022.07.27
[코틀린] 자료형과 변수  (0) 2022.07.27
[코틀린] 패키지란 무엇인가?  (0) 2022.07.27
코틀린이란?  (0) 2022.01.31
코틀린으로 Hello world를 찍어보자  (0) 2022.01.31