코틀린이란? Kotlin 소개
열심히 공부해서 이번에 이직을 하게 되었습니다! 짝짝짝
기존에는 Java/Spring 기반으로 웹서버 백엔드 개발만 했었는데
이직 하는 회사에서는 Kotlin을 사용한다고 하더라구요.
따라서, Kotlin이 무엇인지 간단하게 찾아보았습니다.
먼저 Kotlin 공식 사이트의 소개 내용입니다.
" 개발자를 더 행복하게 하는 모던한 프로그래밍 언어이다. 평생 오픈소스로 제공된다! "
위 환경들에서 제공될 수 있구요.
왜 코틀린인가?
1. 간결함
boilerplate code(반복적으로 필요한 코드)를 대폭 줄일 수 있다.
// getters, setters, `equals()`, `hashCode()`, `toString()` and `copy()`를 포함한 POJO 클래스를 한줄로
data class Customer(val name: String, val email: String, val company: String)
// 람다 표현식을 사용한 필터 기능
val positiveNumbers = list.filter { it > 0 }
// 싱글톤
object ThisIsASingleton {
val companyName: String = "JetBrains"
}
2. 안전함
전체 클래스 오류를 방지한다. (Null Pointer exception 등)
// 성가신 null Pointer 예외를 벗어나자
var output: String
output = null // 컴파일 에러
// nullable type을 다룰때 실수를 방지
val name: String? = null // Nullable type
println(name.length()) // 컴파일 에러
// 타입이 맞다고 확인되면, 컴파일러가 auto cast를 제공
fun calculateTotal(obj: Any) {
if (obj is Invoice)
obj.calculateTotal()
}
3. 상호운용성
JVM, Android 및 브라우저에 기존 라이브러리 활용이 가능하다.
// SAM 지원을 포함하여 100% 호환성이 있어, JVM의 기존 라이브러리 사용가능하다
import io.reactivex.Flowable
import io.reactivex.schedulers.Schedulers
Flowable
.fromCallable {
Thread.sleep(1000) // imitate expensive computation
"Done"
}
.subscribeOn(Schedulers.io())
.observeOn(Schedulers.single())
.subscribe(::println, Throwable::printStackTrace)
// JVM 또는 JavaScript를 대상으로 코드를 Kotlin으로 작성하고 배포할 위치를 결정해라
import kotlin.browser.window
fun onLoad() {
window.document.body!!.innerHTML += "<br/>Hello, Kotlin!"
}
이렇게 간단히 Kotlin에 대하여 알아보았고
다음에는 Kotlin과 Java를 비교하여 어떤점이 있을지, 장단점이 무엇인지 알아보겠습니다.
감사합니다!
By Ryankim
'Kotlin' 카테고리의 다른 글
Kotlin 용어, 키워드 간단정리 (일급함수, Higher-Order Functions, inline) (0) | 2022.03.06 |
---|---|
코루틴- 동시성 / 병렬 (0) | 2021.05.16 |
코루틴이란? - 프로세스/ 스레드/ 코루틴 (0) | 2021.05.16 |
(Kotlin) Kotlin vs Java (+ 추가기능, 코틀린 컴파일 과정) (0) | 2020.08.23 |
댓글