728x90
안드로이드 개발을 하면서 코틀린을 배울 필요가 생겨나서 요즘 계속 코틀린에 대한 공부를 하고 있다.
코틀린 코드를 보다면서 간혹 아래와 같은 코드가 보이게 된다.
val languageName: String? = null
위의 코드 예제처럼 변수를 선언할 때 타입 뒤에 ?를 붙이는 경우이다.
?의 의미는 languageName 변수를 String 으로 선언을 하는데,
String 의 값도 가질 수 있고, Null 값을 가질 수도 있다는 의미다.
그래서 만약 아래와 같이 코딩을 한다면 컴파일 시 에러가 발생한다.
// Fails to compile
val languageName: String = null
이런 경우의 의미는 타입 뒤에 ?가 없기 대문에 languageName은 Null 값을 가질 수 없다.
또한 코틀린의 기본 정책은 변수는 Null을 가질 수 없기 때문에, Null을 사용하고자 한다면 반드시 타입 뒤에 ?를 붙여주어야 한다.
코틀린을 계속 공부해보자.
728x90
'IT > Android' 카테고리의 다른 글
[Android] Kotlin + RxJava + Retrofit + OkHttp 로 http 통신하기 (0) | 2019.08.12 |
---|---|
[Android] Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $ 에러 (0) | 2019.08.09 |
[Kotlin] Not enough information to infer type variable T 에러 (1) | 2019.07.31 |
KT 와이파이 핫스팟(테더링) 제한 풀기 (8) | 2019.07.23 |
[Android] setenforce: Couldn't set enforcing status to '0': Invalid argument (0) | 2019.06.28 |