변명은 만개 결과는 한개

[Kotlin] Types, Properties, Fields 본문

공부/Kotlin

[Kotlin] Types, Properties, Fields

노마십가 2020. 11. 7. 00:56
728x90
반응형

비교

메모리의 비교에는 === 사용

val a: Int = 10_000
print(a === a)    // 'true'
val b: Int? = a
val c: Int? = a
print(b === c)    // 'false'

값의 비교에는 == 사용

val a: Int = 10_000
print(a == a)    // 'true'
val b: Int? = a
val c: Int? = a
print(b == c)    // 'true'

var / val

var (mutable)

  • read / write 모두 가능

val (immutable)

  • java 의 final. read 가능하나 write 불가능함

null

자료형 뒤의 ?

  • Nullable! 심지어 safecall 하지 않으면 .length 호출도 안됨
    자료형 뒤에 ?가 없는 경우
  • @NotNull

Nothing 과 Any

Nothing

  • 어떤 값도 가질(초기화 할) 수 없음
  • val nul = nullval nul:Nothing? = null 과 같음

Any

  • 어떤 값이라도 가질(초기화 할) 수 있음
  • java 의 Object와 같음

늦은 초기화

by lazy

  • 호출 시점에 초기화.
  • val (immutable)과 함께 사용
val name: String by lazy {
    "-"
}

lateinit

  • 사용 전에 초기화 하지 않으면 에러 발생
  • var (mutable)과 함께 사용
lateinit var name:String 
728x90
반응형

'공부 > Kotlin' 카테고리의 다른 글

[Kotlin] Function  (0) 2020.11.12
[Kotlin] class  (0) 2020.11.10
[Kotlin] findViewById 하는 세가지 방법  (0) 2020.11.07
[Kotlin] 시작 전  (0) 2020.08.20
[Kotlin] 시작  (0) 2019.05.10