코틀린에 대해서 간단하게 설명하고자 한다.
IntelliJ IDEA 프로그램을 개발한 JetBrains 기업에서 만든 언어다.
이전까지 Android 개발 언어는 JAVA로 많이 사용됐지만,
2017년 5월 Google I/O에서 Kotlin을 공식 언어로 채택한 후,
Kotlin으로 앱을 개발하는 기업들이 많아졌다.
실제 Kotlin은 2011년에 출시되었고, 2012년에 오픈소스 프로젝트로 공개되었다. 공식 언어는 2017년에 채택되었지만 출시는 2011년도에 했다는 사실..
JAVA는 객체지향 프로그래밍, Kotlin은 함수형 프로그래밍이다.
다른 객체들에 적용 가능한 연산을 모두 지원하는 객체
일급 객체는 함수의 인자로 전달할 수 있다.
일급 객체는 함수의 반환 값에 사용할 수 있다.
일급 객체는 변수에 담을 수 있다.
fun eatFood() {
val pizza = "pizza" // 변수
fun setTable() { // 함수
val knife = "knife"
val fork = "fork"
println("i need $knife, $fork")
}
class LetsPizza { // 클래스
fun eatPizza() {
setTable()
}
}
LetsPizza().eatPizza() // 실행
}
eatFood() 함수에 변수, 함수, 클래스가 모두 들어가있다.
fun eatFood() {
val pizza = "pizza" // 변수
fun setTable() { // 함수
val knife = "knife"
val fork = "fork"
println("i need $knife, $fork")
}
class LetsPizza { // 클래스
fun eatPizza() {
setTable()
}
}
LetsPizza().eatPizza() // 실행
}
val hungry = ::eatFood // 변수명 = ::함수명
fun main() {
hungry.call() // 실행
}
hungry 변수에 eatFood() 함수를 선언한 것을 볼 수 있다.
main()에서 hungry 변수를 호출 함으로써 eatFood() 함수를 실행하게 된다.
private val hamburger = "hamburger";
fun letFastFood(): String { // String을 return 하는 함수
return hamburger
}
fun main() {
val returnEat: String = letFastFood() // 함수를 변수로 선언
print(returnEat) // 실행
}
letFastFood() 함수는 "hamburger" String을 return한다.
returnEat 변수를 출력함으로써, 함수의 return 결과를 알 수 있다.
- 간결한 문법을 제공한다.
- JAVA와 100% 호환이 가능하며 JVM에서 동작한다.
- JAVA에서는 객체 선언 후 메모리 할당을 위해 인스턴스로 사용되면 new 키워드를 사용하는데, 코틀린은 new 키워드를 사용 할 필요가 없이 바로 값을 할당해주면 된다.
- Nullable과 Non-nullable 이라는 개념을 가지고 있어, NullPointException이 발생하지 않도록 만들어 주는 Null Safe 언어다.
처음 작성하는 벨로그라 어떤 흐름으로 작성해야 할지 감이 안잡힌다.
꾸준히 벨로그를 작성하면 감이 잡히지 않을까..
다음글은 코틀린의 문법에 대해서 작성하려고 한다.