안녕하세요. 오늘은 요즘 새로 공부 중인 Kotlin에 대한 글을 작성해보려 합니다.
Kotlin은 현재 안드로이드에서 활발하게 사용되는 언어이고, 안드로이드 외에도 웹 / 서버 개발 등 다양한 분야에서 사용한다고 합니다.
1. Kotlin 간단 소개
Kotlin(코틀린)은 크로스 플랫폼 범용 프로그래밍 언어로, 자바와 완벽하게 호환되게 설계되었으며 일반적으로 JVM에서 사용되거나 자바스크립트, LLVM 그리고 데이터 사이언스 영역에서 사용하는 언어이다.
안드로이드 프로그래밍을 하는 사람이라면 알고 있겠지만, 2019년 5월 이후로 구글이 안드로이드 앱 개발에서 코틀린을 권장하고 있다. 그래서 현재 많은 안드로이드 개발이 코틀린으로 이루어지는 추세이다. 코틀린은 위에 설명처럼 자바와 완벽하게 호환되게 설계되었기 때문에 자바를 다룰 줄 아는 사람이라면 금방 학습할 수 있을 것이라고 생각된다.
예를 들면, API를 다룰 때 코틀린만의 API가 제공되지만, 대부분 자바의 API를 그대로 사용하는 경우가 많기 때문이다. 문법적인 측면에서는 최근에 나온 언어들인 스칼라, 스위프트 등의 언어를 익힌 개발자들이 더 쉽게 접근할 수 있을 것이다.
2. 코틀린의 특징
- Null 안전성 : 다른 언어와 마찬가지로 코틀린도 변수에 NUll 값을 대입할 수 있지만, 코틀린에서 직접 Null에 대한 다양한 처리 기법을 제공하기 때문에 Null과 관련된 처리를 더 쉽게 개발할 수 있다.
- 확장 함수 : 객체지향 프로그래밍 언어들처럼 기능 확장을 위해 클래스를 상속하는 방법을 사용하는 것이 아니라, 함수 확장을 통해 기존 클래스의 기능을 쉽게 추가할 수 있는 방법을 제공한다.
- 함수형 프로그래밍 : 함수형 프로그래밍은 일종의 소프트웨어 개발 패러다임인데, 코틀린에서는 람다, 고차 함수를 제공하는 등 다양한 기법을 제공하기 때문에 쉽게 함수형 프로그래밍을 사용할 수 있다.
- Data 클래스 : 보통 자바에서는 데이터를 표현하기 위해 VO 클래스를 활용했는데, VO 클래스를 작성하면 단순 코드들이 나열되기 때문에 코드가 지저분해지는 느낌이 있다. 하지만, 코틀린에서는 간단하게 작성할 수 있도록 Data 클래스를 지원한다.
- Immutable 변수 : 코틀린의 변수는 val과 var 형식이 있다. 이를 통해 변경 가능한 값인지, 불가능한 값인지 명시적으로 선언할 수 있다.
- 문장 끝에 ;(세미콜론)을 작성하지 않아도 된다.
- 자바는 최상위 구성요소가 클래스지만, 코틀린은 최상위 구성요소로 변수, 함수도 작성할 수 있다.
- 같은 패키지의 외부 클래스는 별도의 import가 필요하지 않다. 또한 import 시 as를 사용하여 별칭을 지정할 수 있다.
- 데이터 타입을 명시하지 않아도 알아서 적용시켜준다.
참고 링크
코틀린 (프로그래밍 언어) - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 코틀린패러다임다중 패러다임 (객체 지향, 함수형, 명령형, 선언형, 범용, 블록, 반영, 병행)설계자젯브레인즈개발자젯브레인즈발표일2011년 7월 22일(11년 전)(201
ko.wikipedia.org
Kotlin Programming Language
kotlinlang.org
Kotlin과 Android | Android 개발자 | Android Developers
Kotlin으로 Android 앱을 작성할 수 있습니다. Kotlin은 표현력이 뛰어나고 간결하며 강력합니다. 가장 좋은 점은 자바 프로그래밍 언어 및 기존 Android 런타임과 상호 운용이 가능하다는 점입니다.
developer.android.com
참고 서적
- 깡샘의 코틀린 프로그래밍