일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- css
- Event
- function
- Method
- javaservlet
- property
- 오라클
- 상속
- 코틀린#클래스#상속
- jQuery
- Java
- 연산자
- 데이터베이스
- 자바
- springframework
- spring
- 파일 입출력
- 연락처 프로그램
- String
- JavaScript
- list
- array
- kotlin #return #jump
- 다형성
- GUI
- 윈도우 #단축키
- File 클래스
- 설치
- html
- jsp
- Today
- Total
Binary World
Kotlin이란 무엇인가 본문
1. 코틀린(Kotiln)?
IntelliJ IDEA의 개발사 JetBrains에서 2011년에 공개한 프로그래밍 언어.
JVM(Java Virtual Mechine) 기반의 언어이며, Java와의 상호 운용이 100% 가능.
안드로이드, 스프링 프레임워크, 톰캣, JavaScript, Java EE, HTML5, iOS, 라즈베리 파이 등을 개발할 때 사용 가능.
2017년 구글이 안드로이드 공식 언어로 채택함으로써 관심이 증가하게 되었음.
2. 왜 코틀린을 사용하는가?
- 간결함 : 상용구 코드의 양을 대폭적으로 줄여줌
getters, setters, equals(), hashCode(), toString(), copy() 함수들을 포함한 POJO(Plain Old Java Object)를 한 줄에 생성:
data class Customer(val name: String, val email: String, val company: String)
람다식을 사용하여 목록 필터링:
val positiveNumbers = list.filter { it > 0 }
싱글톤 객채를 생성:
object ThisIsASingleton { val companyName: String = "JetBrains" }
- 안전함 : 'null pointer exceptions'와 같은 전체 클래스의 에러를 방지
NullPointerExceptions 제거하여, 실수를 방지
var output: String
output = null // Compilation error
null 입력 가능 타입에서 실수로 실행되는 것을 방지
val name: String? = null // Nullable type
println(name.length()) // Compilation error
타입이 올바른지 확인하면, 컴파일러가 자동 캐스팅을 실행
fun calculateTotal(obj: Any) {
if (obj is Invoice)
obj.calculateTotal()
}
- 상호 운용성 : JVM, Android, Browser 등을 위한 라이브러리에 강점이 존재
JVM에 존재하는 라이브러리를 사용하면, 100% 호환 가능:
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을 대상으로 가능. 코틀린으로 작성하고 게재할 곳을 결정 가능
import kotlin.browser.window
fun onLoad() {
window.document.body!!.innerHTML += "<br/>Hello, Kotlin!"
}
- 도구 친화적 : JAVA IDE 또는 Build를 Command Line에서 선택 가능
JetBrain에서 언어의 Tooling에 도움을 줌
'개발자의 길 > Kotlin' 카테고리의 다른 글
제어 흐름(Control Flow) (0) | 2019.05.28 |
---|---|
패키지와 임포트(Packages and Imports) (0) | 2019.05.28 |
기본 타입(Basic Type) (0) | 2019.05.28 |
기본 구문(Basic Syntax) (0) | 2019.05.28 |
코틀린 개발환경 구축 및 출력 (0) | 2019.05.27 |