[android] Kotlin (코틀린) 이 뭐야? |
참조 : https://realm.io/kr/news/android-kotlin/
-
kotlin 이 등장하기 시작한 것은, Oracle 과 Google 의 Java 에 대한 소송으로부터 야기된다.
언젠가 Google 이 패소하거나, 소송에 지쳐 Java 를 버릴 수 있다는 판단 하에 사람들은 대안이 될 수 있는 언어를 찾는다.
구글의 새로운 언어인 Go 가 그 위치를 차지한다는 이야기가 있었지만, 기존 android 가 Java 와 JVM 기반이기 때문에 이는 신빙성이 낮고..
JVM 기반에서 작동할 수 있는 Kotlin 이 유력한 대안으로 이야기되고 있다가.. 이제 정식으로 공식 언어가 되었다!!
-
Kotlin 은 Jetbrains( Intelli J 만든 회사 ) 에서 만든 JVM 에서 도는 개발언어이다.
즉 Kotlin 을 compile 하면 JVM 에서 돌 수 있는 bytecode 가 생성된다는 것이다.
다시 말해 Kotlin 은 Java 와 100% 호환이 되며, Java -> Kotlin conversion 도구들도 제공되고 있다.
-
언어 자체는 Swift 와 아주 흡사하다.
Swift 가 가장 영향을 많이 받은 언어로 꼽힐 정도이다.
즉 Kotlin 이 android 기본 언어가 되었고 & iOS 개발이 Swift 기반이 확고해지고 있기 때문에 두 가지 platform 에 대한 코딩이 훨씬 쉬워졌다고 볼 수 있다.
-
Kotlin 의 큰 장점 중 하나는 Null Pointer Exception 에서 자유롭다는 점이다.
또한 자바의 boilerplate 코드들을 줄여 간결히 코드를 작성할 수 있다고도 한다.
getter/setter 의 번거로움도 줄여주고, 함수를 class 밖에서 선언할 수도 있는 편리성과 자유성도 준다.
-
자바를 100% 지원한다는 것이 모든 것이 100% 잘 작동한다는 이야기는 아니다.
이론적으로 호환이 된다는 것이다.
실제 annotation processing 등에는 제약사항도 있고, proguard 에서도 예외 처리를 해주어야 하는 등 아직 손이 많이 간다고 한다.
( 최신 버전에서는 어떻게 개선되었는지 모르겠당, 이는 알아서 잘 찾아보세용! )
-
실제 안드로이드 프로젝트에서 Java 와 Kotlin 소스를 섞어서 사용할 수 있다.
이를 위해 Preferences, Plugin 을 통해 Kotlin 이 설치되어야 하며, 빌드스크립트에 classpath, plugin 설정, 모듈 추가 등의 작업이 필요하다.
자세한 설정은 아래 링크 참조
http://kunny.github.io/lecture/kotlin/2016/03/08/android_with_kotlin_part_1/
Kotlin 에서 자연스럽게 Java 클래스나 메소드를 호출할 수 있다.
( 공식 언어로 채택되면서 더 쉽게 세팅할 수 있게 변하지 않았을까 혹은 변하지 않을까 생각한다. )
-
코틀린의 확장자는 kt 이다.
'프로그래밍 놀이터 > Kotlin, Coroutine' 카테고리의 다른 글
[Kotlin Tutorial] 함수 정의하고 호출하기 #2 (0) | 2017.08.03 |
---|---|
[Kotlin Tutorial] 함수 정의하고 호출하기 #1 - Chap 3. Defining and calling functions (0) | 2017.08.03 |
[Kotlin Tutorial] Kotlin 기초 #2 - Chap2. Kotlin basics (0) | 2017.07.25 |
[Kotlin Tutorial] Kotlin 기초 #1 - Chap2. Kotlin basics (0) | 2017.07.25 |
[Kotlin Tutorial] Kotlin 소개 - Kotlin : what and why (2) | 2017.07.12 |
댓글