-
1강. 코틀린에서 변수를 다루는 방법BackEnd/Kotlin 2024. 1. 27. 10:30반응형
- 변수 선언 키워드 - var과 val의 차이점
- Kotlin에서의 Primitive Type
- Kotlin에서의 nullable 변수
- 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 booleanscan 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 키워드를 사용하지만, 코틀린은 사용하지 않습니다.
감사합니다.
반응형'BackEnd > Kotlin' 카테고리의 다른 글
4강. 코틀린에서 연산자를 다루는 방법 (0) 2024.01.31 3강. 코틀린에서 Type을 다루는 방법 (0) 2024.01.30 2강. 코틀린에서 null을 다루는 방법 (0) 2024.01.27 0강. 코틀린에 관한 34가지 TMI (feat. Java와의 비교) (1) 2024.01.27 Start Java to Kotlin (0) 2024.01.27