10분 코틀린 기초떼기

아직 코틀린 모르는 당신을 위한 10분 벼락치기

프로그래밍 언어의 기본 자료형이나 배열등은 설명하지 않습니다. 다른 언어 하신 분들이 코틀린에 적응할수 있게 하기 위해 작성했습니다 코틀린을 모르는 사람용이니 알아듣기 쉽게 의역한 부분이 있습니다.

1. 변수선언

💭 타입 없이 선언

val a = 1  // 값 변경 X
var b = 2 //  값 변경 O

💭 타입 있이 선언

val a : Int = 1  // 값 변경 X
var b : Int= 2 //  값 변경 O

💭 Null 허용 선언

코틀린은 기본적으로 NotNull 타입입니다.

val a : Int? = null
val b : Int? = 12

2. 조건문

💭 if 문

if (a > 0) println("a는 0보다 크다"
else println("a는 0보다 작다")

💭 when 문

switch문을 해본사람이면 익숙

when (a) {
    1 -> println("a 는1")
    2 -> println("a 는 2")
    else -> println("a는 1도 2도 아니다")
}

대체 삼항 연산자

?를 nullable로 쓰기때문에 삼항연산자가 없다

val a: Int = if(true) 1 else 2

3. 반복문

온갖 언어에서 사용하는 방식의 반복문을 지원한다

💭 for

for (i in 1..10) {
    println(i)
}
for(i in 1 until 10){
    println(i)
}
for(i in 10 downTo 1){
    println(i)
}
for(i in 1..10 step 1){
    println(i)
}
for (i in arrayListOf(1, 2, 3)) {
    println(i)
}
for (i in 1..10) {
    print(i)
}

💭 while

while (true) {
  break
}

4. 자바와 다른 객체 고유 기능

💭 with

Non-null입니다. with는 블록내부 결과를 반환합니다

with(names) {println("이름은 $this 입니다.")}

💭 also

also는 it을 그대로 반환합니다

names.also {println("이름은 $it 입니다.")}

💭 apply

input == output입니다

names.apply { println("input을 사용하지 않도록 합니다") }

💭 let

Null이 아닌경우 실행됩니다.

names.let { println("이름은 $it 입니다.") }

💭 run

names.run { println("이름은 $this 입니다.") }

5. NULL처리

💭 ? , ?:

names
    ?.let { println("이름이 있다") } 
    ?: println("이름이 없다")

💭 as

val names: String? = null
        val toInt: Int = names as? Int ?: 0;

💭 Not-null 강조

val names: String = "junny"!!

6. 함수 생성

(인자...) -> 응답타입 으로 선언할 수 있다

 val func: (Int, Int) -> Int = { a, b -> a + b }
        println(func(1, 2))

7. 클래스

class Check(
    private var a: String,
    private val b: Int,
    private val c: LocalDateTime = LocalDateTime.now()
){
    init {
        require(a.isNotBlank()) { "a는 필수값입니다." }
    }
}
class Check (
    private val a: String?,
) {
    private val d: String = a+"b" 
}

Last updated