App노자

[Kotlin] 변수와 자료형 본문

Android/Kotlin

[Kotlin] 변수와 자료형

앱의노예 2023. 1. 24. 22:21

1. var(변수), val(상수) 선언 및 할당하기


fun main() {
    var number: Int = 2022 
//    변수를 선언할 때 : var + 변수명

    val String: String = "2022"
//    상수를 선언할 때: val + 상수명
}

Kotlin에서 변수는 val와 var라는 키워드로 선언을 한다

var로 선언을 할 경우 처음에 지정한 변수를 나중에 바꿀 수 있고

val로 선언을 할 경우 초깃값이 할당되면 나중에 바꿀 수 없는 읽기 전용 변수가 된다

추가로 알 수 있는 특성은 Kotlin은 Java와 달리 구문 끝의 세미클론의 생략이 가능하다는 점이다

2. Type inference (타입추론)


fun main() {
    var number = 2022
    val String = "2022"
}

변수나 상수를 선언할 때 위에 있는 특정 타입을 명시하지 않아도 컴파일러가 할당된 값을 기준으로 타입을 결정해주는 기능인 타입추론을 지원한다

추론할 값을 지정하지 않으면 자료형을 추론할 수 없다

나름 편리한 기능이지만 협업이나 유지보수를 위해 개인적으로 사용은 하지 않고 있다

3. 자료형 검사하기


fun main() {
    var num: Int = 1
    var isbool: Boolean = true

    isbool = num is Int
    println(isbool)
    if (num is Int) {
        println("Int")
    } else if (num !is Int) {
        println("Int가 아니다")
    }
}

자료형을 검사할때는 is 키워드를 사용한다

왼쪽이 오른쪽과 같으면 true 아니면 false를 반환한다

4. as cast operator


fun main() {
    var num: Int? = null

//    var str: String = num as String
//    val str: String? = num as String?
    val str: String? = num as? String
}

as를 이용해 지정한 타입으로 형 변환이 가능하지만 as는 형 변환이 가능하지 않으면 예외를 발생 시킨다

예외 발생을 피하기 위해서 as?를 사용하는것이 좋다 as?는 예외 발생시 null을 반환한다

5. 타입 별칭


fun main() {
    
}

typealias TagetAction = (target: Any, action: Selector) -> Unit
typealias MyInt = Int

기본으로 제공하는 데이터 타입이나 개발자가 임의로 데이터 타입을 지정해 별칭을 부여하여 선언한 후 계속해서 사용할 수 있다

'Android > Kotlin' 카테고리의 다른 글

[Kotlin] 흐름 제어문과 예외 처리문  (0) 2023.04.08
[Kotlin] 조건문과 반복문  (0) 2023.04.02
[Kotlin] 고차함수와 람다식  (0) 2023.02.14
[Kotlin] 함수  (0) 2023.01.27
[Kotlin] Null safety  (0) 2023.01.25