kotlin기본 문법에 대해서 정리한 강좌이다.
fun (함수 선언)
fun main() { printf("hello") }
var, val (변수 선언)
fun main() {
var a = 1;
a = 2;
println(a) //2
}
val은 읽기만 가능한 변수
fun main() {
var a: Int //선언시 값이 들어가지 않으면 타입 선언
a = 1 println(a) //1
}
[변수명]::class (타입 확인 )
fun main() {
var a = 1;
println(a::class) //int
}
?, ?., ?:, !!
- ? : null 허용
fun main() {
val i: Int? = null
}
- ?. : null이 아니라면 실행
fun main() {
val i: Int? = "hi"
println(i?.length) //i가 null이 아니라면 length실행
}
- ?: :대상이 null이라면 뒤에 명령어를 실행 )Elvis 연산자
fun main() {
val i: Int? = "hi"
i ?: println("i is null") //i가 null이면 뒤에 구문을 실행
}
- !! : null이 아님을 명시
if / when
- java의 if는 문(statement)
- kotlin의 if는 식(expression)
fun main() {
var a: Int = 100
var b: Int = 200
var c: Int
//if(a >= b) {
// c = a
//}else {
// c = b
//}
c = if(a >= b) {
a
}else {
b
}
//kotlin expression으로 주석 처리 해놓은 곳이랑 같은 동작을 함.
println(c) //200
}
- when
fun main() {
val a: Int? = 199
when(a) => {
in 100..199 -> println('1')
in 200..299 -> println('2')
in 300..399 -> println('3')
else -> println('4')
}
}
class/ dataClass/ enumClass
fun main() {
//kotlin은 java와 다르게 class를 생성할때 new가 생략된다
val item: Item = Item("Book", 10_000)
println(Color.RED)
println(Color.RED.name)
println(Color.RED.strRgb)
println(Color.RED.hexaRgb.toString(16))
}
class Item(val name:String, val price: Int)
//data class는 기본적으로 Getter, Setter, Equal, HashCode, ToString, Copy, Component, and 함수들이 자동적으로 생성된다.
//Setter인 경우는 val이면 변경이 불가능하기 때문에 var로 선언해야 적용이 된다.
data class Item2(val name: String, val price: Int)
//열거형 클래스는 class 앞에 enum을 붙여 선언한다.
//각 열거형 상수는 객체이며, 열거형 함수는 쉼표로 구분한다.
enum class Color{
RED("#f00", 0xFF0000),
GREEN("#0f0", 0x00FF00),
BLUE("#00f",0x0000FF)
}
'spring_boot > kotlin' 카테고리의 다른 글
[Kotlin] listOf와 mutableListOf의 차이 (0) | 2024.04.22 |
---|---|
Java와 Kotlin의 관계와 운용 (1) | 2024.04.07 |