ABOUT ME

dddd-

Today
-
Yesterday
-
Total
-
  • [Kotlin] Kotlin 기본 문법
    Android/개발 2020. 1. 30. 14:00


    안드로이드 Kotlin 기본 문법







     많은 개발자들과 회사들이 Android 개발을 Kotlin으로 하고 있습니다. 하지만 학생들같이 Android를 처음 입문하는 분들은 Java로 배울것입니다. 그래서 Kotlin을 처음 접하는 분들을 위해 Kotlin의 기본 문법을 살펴보도록 하겠습니다.

     기본적으로 Kotlin은 ;(세미콜론)을 사용하지 않아도 되고 변수나 객체에 값을 넣어준다면 자료형이나 Class를 명시하지 않아도 됩니다. 간단히 설명은 여기까지하고 아래 코드를 보면서 말씀드리겠습니다.


     * 자바와 코틀린을 비교를 보려면 아래 링크에서 확인해주세요!

    Kotlin vs. Java - 코틀린, 자바 차이점 비교





    변수/상수 정의


    var strVar = "abc"
    val strVal = "def"

    - 처음에 설명드린 것처럼 ;(세미콜론)을 사용하지 않지만 사용해도 

    - 위와 같이 초기값을 넣어주게 되면 자료형을 명시하지 않아도 자동으로 자료형을 맞춰줍니다.

    var을 사용하면 변수(또는 값이 변할 수 있는 객체)가 되고 val을 사용하면 상수(또는 값이 변할 수 없는 객체)가 됩니다.


    var string: String = ""
    var number: Int = 0
    var condition: Boolean = false
    var string = ""
    var number = 0
    var condition = false

    - 위에 있는 코드를 아래와 같이 자료형을 명시하지 않고 쓸 수 있습니다.


    var string: String? = null
    var number: Int? = null
    var condition: Boolean? = null

    - kotlin에서는 ?(Optional) 이란것을 사용해서 Nullable 변수 또는 객체를 선언할 수 있습니다.

    Int나 Boolean 같은 값들도 null 값을 넣을 수 있습니다.


    lateinit var string: String

    - 처음에 값을 지정하지 않고 싶으면 lateinit을 사용합니다.

    lateinit으로 선언된 변수나 객체는 반드시 정의되어야 합니다.

    상수는 lateinit을 사용할 수 없습니다.






    함수


    fun add(num1: Int, num2: Int) : Int {
    return num1 + num2
    }

    - 기본적인 함수의 모양입니다.

    - fun 함수명(매개변수) : returnType { }


    fun addString(str1: String?, str2: String?) : String? {
    if (str1 == null || str2 == null)
    return null
    return str1 + str2
    }

    - 매개변수의 자료형이 ?(Optional)이 되면 Nullable 변수가 되어 null 값이 들어올 수 있습니다.

    - return Type이 ?(Optional)이 되면 null 값을 return 할 수 있습니다.


    fun sum(vararg arrNum: Int) : Int {
    var sum = 0
    for (num in arrNum) {
    sum += num
    }
    return sum
    }

    vararg를 사용하면 가변인자를 사용할 수 있습니다.

    - 가변인자는 Java와 똑같이 배열 형태로 사용합니다.





    For Loop (반복문)


    for (i in 0 until 10) {

    }

    - i가 0부터 10이될 때 까지 for문 실행(10은 포함되지 않음)


    for (i in 0..10 step 2) {

    }

    - i가 0부터 10까지 2씩 증가하면서 for문 실행(10 포함)


    for (item in array) {

    }

    - array의 인자를 하나하나 꺼내 for문 실행(item의 자료형은 array type에 따름)


    for ((index, item) in array.withIndex()) {

    }

    - array의 인자와 index를 하나하나 꺼내 for문 실행(index는 0부터 array.size - 1)





    Switch/Case 문


    val i: Int = Random.nextInt(10)
    when (i) {
    0 -> { }
    1 -> { }
    2 -> { }
    3 -> { }
    4 -> { }
    else -> { }
    }

    - Java의 Switch가 when으로 변경, case는 사용하지 않고 위와 같이 표기합니다.

    break 문은 사용하지 않습니다.

    - else는 위에 어떠한 경우도 true가 아닐 때 들어옵니다.





    3항 연산자


    val result = if (i == 0) "0" else "else"

    - kotlin에서 3항 연산자는 if/else문을 사용해서 표시합니다.






     처음 Kotlin을 사용하면 Java와 혼동이 되어서 조금 헷갈릴 수도 있지만 Kotlin을 사용하다보면 Java보다 훨씬 빠르고 간편하게 사용할 수 있습니다. 본문에서는 Kotlin의 기본 문법만 설명했기 때문에 Kotlin의 장점을 잘 모를 수도 있지만 Java에선 제공되지 않는 Kotlin만의 특장점들도 있고 그런것들을 사용하면 능률도 좋아지고 코드도 깔끔하게 바뀔 수 있습니다. 이상으로 Kotlin 기본 문법을 알아봤습니다.

     Java와 코틀린의 차이점을 알아보실 분들은 아래 링크에서 확인해주시기 바랍니다!

    Kotlin vs. Java - 코틀린, 자바 차이점 비교



     궁금하신 점은 댓글 달아주시면 대답해 드리겠습니다!^^




    댓글

Designed by Tistory.