반응형

Kotlin 13

[Kotlin] lateinit과 lazy 차이점

목차 소개 lateinit lazy lateinit과 lazy의 차이점 초기화 시간 Nullable vs Non-nullable Compile-time vs Run-time error 스레드 안정성 결론 소개 Kotlin은 전역 변수를 선언하면 반드시 초기화 해줘야 한다. 전역 변수를 초기화하지 않고 선언할 수 있도록 도와주는 키워드가 lateinit과 lazy다. 먼저 Kotlin에 lateinit과 lazy가 있는 이유는 null 안정성 시스템 덕분이다. 속성을 nullable로 선언하면 사용할 때마다 ? 연산자나 !! 연산자를 사용해야 하기 때문에 번거로움이 있고 그렇지 않다면 반드시 초기화를 해줘야 한다. 초기화를 하지 못 하는 상황이 발생할 수도 있기 때문에 Kotlin 언어에서 이 둘을 지원한..

[Kotlin] var, val 그리고 const val

안녕하세요 골드입니다. Kotlin이라는 언어를 사용한다면 너무나도 당연하게 쓰는 var과 val 키워드가 있습니다. 이번 글에서 이 둘의 차이점에 대해서 알아보고 비슷하지만 다른 val과 const val의 차이점에 대해서도 알아보도록 하겠습니다. 1. var var은 variable를 의미하며, Kotlin에서 변수를 선언할 때 쓰는 키워드입니다. 흔히 말하는 기본 자료형 혹은 객체 참조 모두 var 키워드를 사용한 변수에 할당할 수 있습니다. var 키워드로 선언된 변수는 값을 변경할 수 있습니다. 변수를 선언할 때, 타입을 같이 작성할 수도 있습니다. 다만, 선언하면서 초깃값을 지정하였다면 변수의 타입을 생략할 수 있도록 코틀린은 타입 추론(type inference) 기능이 있습니다. 2. va..

[Kotlin] 코틀린 데이터 타입 형변환

안녕하세요 골드입니다. 오늘은 코틀린에서 기본 자료형들(String도 포함하여)의 형변환에 대해서 알아보겠습니다. 1. 문자열(String)을 숫자 타입으로 형변환 문자열을 숫자 타입으로 형변환 하겠습니다. 흔히 사용하는 숫자 타입으로 Int, Long, Double 같은 데이터 타입이 있습니다. 코틀린은에서 형변환은 매우매우 간단합니다. toFloat toDouble toDoubleOrNull toInt toIntOrNull toLong 같은 함수들을 코틀린에서 제공합니다. 보시다시피 원하는 데이터 타입 앞에 to를 붙여서 사용하면 됩니다. String형 변수 str에 "100"을 저장하고 Int형 변수 number는 초기화를 하지 않았기 때문에 Int라고 알려주기만 했습니다. 이후에 str.toInt..