코틀린은 우선 IntelliJ를 만든 JetBrains라는 회사에서 만든 언어이다.
코틀린은 자바와 100% 호환이 가능하며, 현대적이고 간결하다. 보다 안전한 언어를 사용하기 위해 탄생했다.
얼마나 차이가 있냐면 JetBrains에서 Java로 만든 IntelliJ를 유지보수하다가 화가날 정도라고 했다는 설이 있다.
코틀린 특징
- Java와 100% 호환되기 때문에 JVM 위에서 동작한다.
- 멀티플랫폼 언어이다.
- Android 앱개발(주로 이용됨) / IOS 앱개발
- 서버 개발 (주로 이용됨)
- 웹 개발
- 임베디드 / IoT
- 데이터 사이언스
- 정적 타입 언어이다.
- 타입을 컴파일 시점에 알 수 있다.
- 객체지향형 프로그래밍과 함수형 프로그래밍을 조화롭게 지원한다.
코틀린 언어의 간결함을 살리기 위해 프로그래머가 작성하는 코드에서 의미 없는 부분은 줄였다.
프로그램에 꼭 넣어야 하는 부수적인 요소를 줄이기 위해 많은 노력을 했다.
왜 코틀린?
자바도 충분히 좋은 언어인데 코틀린이 왜 각광받고 있을까?
가독성과 접근성이 좋기 때문이다.
요즘은 객체 지향이면서 변수 유형 유추 및 손쉬운 캡슐화, 직관적인 기능을 갖는 함수를 많이 탑재한, 즉 사람의 언어와 비슷한 언어들이 각광받는다.
자바도 객체 지향 언어이지만 비교적 초창기에 개발되어 절차 지향에 가까운 문법을 갖고 있다.
따라서 요즘 개발 언어 트랜드에 맞게 더욱 간결하며 생산성을 높일 수 있는 언어가 필요했고, 이를 위해 코틀린이 개발된 것이다.
코틀린을 선택하게 되는 이유
- 자바의 상위 호환 버전
코틀린은 자바의 상위 호환으로 개발되었다. 덕분에 자바보다 간결하지만 기능이 더 많다.
자바의 기능과 더불어 코틀린의 새로운 기능까지 모두 사용 가능하다는 뜻이다.
- 개발 언어의 트랜드
IT 서비스의 트랜드에 따라 개발 언어에도 트랜디한 기능이 추가된다.
이 트랜드는 최근 절차 지향 언어에서 사람의 언어를 닮은 객체 지향 언어로 바뀌는 추세이다.
코드의 재사용을 통해 반복적인 코드를 최소화하고, 각 코드들이 각자의 기능을 갖고 있어 사용하기 유연하며 수정도 용이하다.
정리
다음 포스트부터 이러한 코틀린에 대한 기초적인 문법을 자바와 비교해 학습하고 최종적으로는 내가 개발한 recommtoon Java 코드를 코틀린으로 수정해보고자 한다.