코딩/Kotlin

코틀린의 변수

GU 2024. 1. 6. 15:28
반응형

코틀린에 있는 변수는 

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