본문으로 건너뛰기

Kotlin Koans

· 약 3분
Seokjae Lee
Software engineer

원문: https://doljae.tistory.com/230

[Kotlin Koans | Kotlin

kotlinlang.org](https://kotlinlang.org/docs/koans.html)

Kotlin Koans는 Jetbrains에서 제공하는 Kotlin 공식 튜토리얼이다. Kotlin 문법에 대한 기초지식을 다룬다.

문제를 주고, 문제를 해결할 수 있는 공식 문서 링크와 함께 요구사항을 해결하는 코드를 작성하면서 진행하게 된다.

최근 Kotlin이 주변에서 굉장히 핫 한 것 같고 개인적으로 흥미도 있어서 해보았다.

랜덤인진 모르겠는데 각 챕터를 끝내면 GIF로 축하한다는 이미지를 띄워준다.

웹에서도 할 수 있고, IntelliJ IDEA에 EduTools라는 플러그인을 설치하면 IDE에서도 할 수 있다.

 [EduTools - IntelliJ IDEs Plugin | Marketplace

With the EduTools plugin, you can learn and teach programming languages such as Kotlin, Java, Python, JavaScript, Rust, Scala, C/C++, and Go through coding tasks and...

plugins.jetbrains.com](https://plugins.jetbrains.com/plugin/10081-edutools)

6개의 챕터 아래에 문제들이 들어있다. 문제 수는 약 40문제정도?

후기​

일단 지금 내가 가지고 있는 Kotlin에 대한 감상은 5점 만점 중에 2점에 가까운 3점이다.

 [상용구 코드 - 위키백과, 우리 모두의 백과사전

컴퓨터 프로그래밍에서 상용구 코드 또는 상용구는 수정하지 않거나 최소한의 수정만을 거쳐 여러 곳에 필수적으로 사용되는 코드를 말한다. 이와 같은 코드는 최소한의 작업을 하기 위해 많은

ko.wikipedia.org](https://ko.wikipedia.org/wiki/%EC%83%81%EC%9A%A9%EA%B5%AC_%EC%BD%94%EB%93%9C)

서버 개발에서 Kotlin과 대치되는 언어가 Java니깐 비교해보면...

우선 BoilerPlate Code라고 불리는, 그러니깐 어떤 기능을 사용하기 위해 문법적으로 반드시 작성해주어야 하는 코드를 Kotlin이 줄이려고 한 것은 이해가 된다. 실제로 Kotlin 장점하면 수십 줄 되는 Java Class 코드를 한두 줄로 선언할 수 있긴 하다.

그런데 이것이 잘 읽히는지는 모르겠다. 익숙하지 않아서일 수도 있는데 개인적으로 Lombok 쓴 Java Class가 훨씬 예쁘다고 생각한다. 뭔가 억지로 숏 코딩하는 느낌이 든달까...

코드가 짧아지는 건 좋은데 너무 많은 기능을 한두 단어나 문장으로 압축해서 좀 풀어써도 될 걸 다양한 문법을 활용해서 줄일 수 있는데 결과적으로 Lombok을 조합한 Java와 Kotlin의 동일한 스펙을 정의한 Class 코드를 비교해서 보면 나는 Java 코드가 더 예쁜 것 같다.

언어 레벨에서 다양한 기능들을 지원하는 것은 좋은 것 같다. 특히 Lambda 쓰는 거 하나만큼은 Java보다 훨씬 낫다. Koans에서도 Lambda 챕터 때는 굉장히 만족하면서 재밌게 풀었다.

주변에 새 프로젝트에 Kotlin + SpringBoot 조합을 사용하는 경우가 많이 있고, 개발 경험도 굉장히 좋았다고 해서 한번 해보았지만 첫 소감은 아쉽게도 별로였다. 당장 급하게 익혀야 하는 상황도 아니고, 다른 사람들이 호평하는 데는 나름대로 이유가 있을 테니깐 사용할 기회가 생기면 가끔씩 익히는 셈 치고 사용 경험치를 쌓을 계획.