코틀린 기본

특징

  • static 예약어가 없다. Top-level에 선언하면 됨.
  • 클래스 선언 없이 함수, 변수를 사용 가능
  • 세미콜론(;)을 강제하지 않는다. (enum class 선언 제외)

코틀린 파일 정의

  • 확장자는 *.kt
  • 파일과 클래스를 구분
class Student {
    int id;
    void getId() {
        return this.id;
    }
}
class Student {
    var id: int = 10
    fun getId() {
        ...
    }
}

클래스 없이 변수, 함수 단독으로 정의 가능하다.

코틀린은 변수, 함수도 Top-level에 선언할 수 있다.
함수 내 함수, 클래스도 선언 가능하다.
Java의 경우, class만 Top-level에 선언할 수 있다.

package com.example.student

import java.util.*

var sum = 0

fun calSum() {
    for (i in 1..10) {
        sum += i
    }
}

class student {

    var id: int = 10

    fun getId() {
        id
    }
    
    fun hello() {
        println("hello")
    }
}

fun main(args: Array<String>) {
    calSum()
    println(sum)
    user
}

패키지

  • 다른 패키지의 함수나 변수를 import하려면? 직접 import해서 사용하면 됨
package com.example.two

val threeVal = 10
fun threeFun() {

}
package com.example.one

import com.example.two.threeVal
import com.example.two.threeFun

...
  • 가상패키지: 실제 위치와 다른 패키지명을 사용할 수 있다.

파일구조

src
└─one
  └─file.kt
package my.package

...
  • 이름 변경해서 임포트할 수 있다.
import java.util.Date as MyDate

기본 패키지

기본적으로 코틀린 파일에서 사용할 수 있는 패키지

java.lang.*
kotlin.*
kotlin.io.*
kotlin.collections.*
...