ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1강. 코틀린에서 변수를 다루는 방법
    BackEnd/Kotlin 2024. 1. 27. 10:30
    반응형
    1. 변수 선언 키워드 - var과 val의 차이점
    2. Kotlin에서의 Primitive Type
    3. Kotlin에서의 nullable 변수
    4. Kotlin에서의 객체 인스턴스화

     

      다음은 변수를 다루는 방법에 대한 Java 및 Kotlin 코드 입니다. 코드에 대한 상세 설명은 하단 글을 참고하시면 됩니다. 글자가 너무 작아 보이지 않는 경우, 이미지 하단 첨부된 git commit history 참고 부탁 드립니다.

    https://github.com/HanseomKim/java-to-kotlin-starter-guide/commit/7b9ba57416a6fb054332afac20f38192d2dbc247

     

    변수 선언 키워드 - var과 val의 차이점

    • var(variable)은 값을 바꿀 수 있습니다.
    • val(value)은 값을 바꿀 수 없습니다. (read-only)
    • 코틀린에서는 타입을 자동으로 컴파일러가 추론해 주기 때문에 의무적으로 작성하지 않아도 됩니다.
    • 초기값을 지정해주지 않은 경우, 컴파일러가 타입을 추론할 수 없기 때문에 명시적으로 타입을 작성해 주어야 합니다.
    • val 컬렉션에는 element를 추가할 수 있습니다. Java ArrayList에 final을 붙이더라도 컬렉션에 원소 추가가 가능한 것과 같습니다.
    • 클린 코드를 위해서는 모든 변수를 우선 val로 만들고, 필요한 경우만 var로 변경합니다.

     

    Kotlin에서의 Primitive Type

    • Java에서 long은 primitive type, Long은 reference type입니다.
    • 코틀린에서는 primitive type과 reference type을 구분하지 않아도 됩니다. 코틀린이 상황에 따라 내부적으로 primitive type으로 바꾸어 적절히 처리해 줍니다. 즉, 프로그래머가 boxing / unboxing을 고려하지 않아도 되도록 코틀린이 알아서 처리해 줍니다.

     

      코틀린 공식 문서에서는 primitive type과 reference type에 대해 다음과 같이 작성되어 있습니다.

    Some types can have a special internal representation
    for example, numbers, characters and booleans

    can be represented as primitive values at runtime

    but to the user they look like ordinary classes.

     

    Kotlin에서의 nullable 변수

    • 코틀린에서는 모든 변수에 null이 들어갈 수 없게 설계되어 있습니다.
    • 코틀린에서 null이 변수에 들어갈 수 있다면 '타입?'을 사용해야 합니다.
    var number3: Long? = 1_000L
    number3 = null

     

    Kotlin에서의 객체 인스턴스화

    • Java에서는 객체를 인스턴스화 할 때 new 키워드를 사용하지만, 코틀린은 사용하지 않습니다.

     

    감사합니다.

    반응형

    댓글

Designed by Tistory.