반응형
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 |
---|