거꾸로 바라본 세상
Published 2023. 8. 21. 16:05
[Kotlin] 1.변수(Variable) Language/Kotlin
반응형

1. 변수선언

 

val (불변변수) : 한번 저장하면 다시 할당 할 수 없는 변수를 정의.

//문자, 문자열, 논리 값 객체
//Char(2byte), String class, Boolean : (true, false)
val charVal = 'a'
val strVal = "Hello"
val boolVal = true;

//charVal = 'b' // Error: 불변변수는 다시 재할당 불가능.
println(charVal);
println(strVal);
println(boolVal);

println(charArrayOf('가','나').contentToString())

var str = String(charArrayOf('가','을'));

println(str);

//문자열 탬플릿
//$변수명, ${표현식}

val date = "20230818";
val a = 100;
val b = 200;
println("날 짜 : $date")
println("100 + 200 = ${a + b}")

var (가변변수) : 재할당 할 수 있는 변수를 정의

//정수와 실수 객체
//숫자를 관리하는 정수와 실수
//Byte(1byte), Short(2byte), Int(4byte), Long(8 byte)
var initVar = 100
var longVar = 100L
var doubleVar = 100.0
var floatVar = 100.0F

println(initVar)
println(longVar)
println(doubleVar)
println(floatVar)

 

2. 초기화 미루기(Lazy init)

lateinit 키워드

lateinit var data: String
  • 변수 선언 이후에 초기 값을 할당할 것을 명시적으로 선언
  • 사용하기 전 초기화 후 사용해야 함
  • var 키워드 변수만 사용가능
  • Primitive Type (Int, Long. Short, Double, Float, Boolean, Byte) 타입에는 사용불가능
lateinit var lateInitText: String

// 변수선언
val result1 = 30

//사용하기 전 초기화 후 사용
lateInitText = "Result : $result1"
println(lateInitText)

lazy 키워드

  • 실제 변수를 사용할 때 초기값을 할당
  • val 키워드로 선언가능
  • 한 번의 lazy init이 이루어지고 이후에는 값이 불변함을 보장
💡 val data: Int by lazy {   ... }
lateinit var lateInitText: String
val lazyTextLength: Int by lazy {
    lateInitText.length
}

// 변수 값 선언
lateInitText = "Hello World Kotlin"
println(lazyTextLength)

자료형 타입 선언

  • Int
  • Short
  • Int
  • Long
  • Float
  • Double
  • Char
  • String
  • Boolean
💡 [var or val] [변수명] : [타입] = [선언값] or [var or val] [변수명] : [타입]
val byteVal: Byte = 0b110
println(byteVal)
val shortVal: Short = 10
println(shortVal)
val intVal: Int = 10
println(intVal)
val longVal: Long = 10L
println(longVal)
val floatVal: Float = 10f
println(floatVal)
val doubleVal: Double = 10.0
println(doubleVal)
val chVal: Char = 'c'
println(chVal)
val strVal: String = "Hello World"
println(strVal)
val boolVal: Boolean = true
println(boolVal)

Any: 모든 타입 가능한 최상위 클래스

valanyVal: Any = 10
valanyVal1: Any = "Change"

Unit : 리턴문이 없는 함수

  • Unit 타입으로 선언한 변수는 Unit 객체만 대입 가능
  • Unit 타입으로 변수를 선언이 가능하지만 의미없음
valdtVal: Unit = Unit;

funA(): Unit {
println(100 * 100);
}
A();
funB() {
println(100 * 100);
}
B();

Nothing : null 또는 예외를 반환하는 함수

  • Nothing 으로 선언한 변수는 데이터로서 의미없음
  • Nothing 으로 선언한 변수는 null만 대입가능.
val dtNull: Nothing? = null;
  • 코틀린의 모든타입은 객체이므로 변수에 null 대입이 가능.
  • 변수 선언 시 null을 대입 할 수 있는지 없는지 명확하게 구분하여 선언
  • 타입 뒤에 물음표(?) 키워드를 추가하면 null을 허용하고 추가하지 않으면 허용하지 않는다.
반응형

'Language > Kotlin' 카테고리의 다른 글

[Kotlin] 2. 연산자  (0) 2023.08.22
profile

거꾸로 바라본 세상

@란지에。

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!