반응형
코틀린에 있는 변수는
Boolean : 0 또는 1, 참 또는 거짓의 논리자료형
Char : 16비트의 문자형
String : char로 이루어진 데이터 자료형
Byte : 8비트의 (+,-)부호가 있는 정수형
Short : 16비트의 (+,-)부호가 있는 정수형
Int : 32비트의 (+,-)부호가 있는 정수형
Long : 64비트의 (+,-)부호가 있는 정수형
Float : 32비트의 부동소수형
Doble : 64비트의 부동소수형
코틀린의 변수 정의는 var와 val이 있다.
var는 variable으로 변수의 내용은 항상 바뀔 수 있다.
val은 value로 const(상수)로 변수는 상수로써 변하지 않는 값을 가진다라는 의미다
코틀린은 또한 타입을 지정하거나 지정하지 않을 수 있다.
지정하지 않을 수 있는 방법은 변수가 무엇으로 초기화 되는 지가 관건이다.
예시를 들어보면 다음과 같다.
var fruit = "apple"
println("$fruit")
다음과 같이 변수가 이미 타입이 있는 값이 존재할 경우 타입을 지정할 필요가 없다.
var fruit //에러사항 발생 코틀린의 변수는 선언 시 Null값을 가질 수 없다.
fruit = "apple"
println("$fruit")
주석을 달아 둔 것 마냥 코틀린은 NPE( null point Exception )를 예방하기 위해 변수의 초기화를 요구한다.
var fruit ?= null // 타입을 알려주지 않는 경우
fruit = "apple"
println("$fruit")
var fruit : String ?= null // 타입을 알려주는 경우
fruit = "apple"
println("$fruit")
lateinit var fruit : String
fruit = "apple"
println("$fruit")
val fruit : String by lazy{
"apple"
}
사실 코틀린의 변수 초기화의 방법은 다양하다.
Nullable이 가능한 형태는 다음과 같다
슈뢰딩거의 고양이 형. 꺼내 보기 전까지 이건 null일 수도 null이 아닐 수도 있다. => ?= null
나중에 초기화를 할테니 지금은 좀 바줘라. => lateinit
지금 안 쓸거면 나중에 줄게 => by lazy 등이 있다.
반응형
'코딩 > Kotlin' 카테고리의 다른 글
코틀린 조건문 (0) | 2024.01.07 |
---|---|
코틀린의 함수 (0) | 2024.01.06 |
코틀린을 왜 쓰는가? (0) | 2024.01.06 |