왜 코틀린을 사용할까?

김태영·2024년 6월 3일
0

TIL

목록 보기
21/70
post-thumbnail

오늘 공부한 것

- 코틀린 문법 종합반 1~2주차 강의
- 알고리즘 개인정보 수집 유효기간 풀이

나는 왜 코틀린을 배우는걸까

현재 대부분의 (새로 만들어지는) 안드로이드 앱 개발에는 코틀린이 사용된다고 한다. 많고많은~ 언어 중에 왜 코틀린일까?

강의를 듣기 전에는 사실 생각해본 적 없는 질문이었다. 그저 자바를 사용했을 때보다 코드가 좀 더 간단하네? 정도로만 생각하고 넘어갔다. 그런데 등골이 서늘해지는 면접 질문이 생각나버렸다.

이 프로젝트에 해당 기술 스택을 사용하신 이유가 뭔가요?

물론 이런 질문을 안할 수도 있겠지만, 뇌 빼고 ‘헤헤 코틀린 최고’ 이러면서 개발하는 것보다 ‘코틀린을 써야 능률이 올라갑니다’ 같은 생각이라도 하면서 개발하는 게 더 도움이 될 것 같았다. 또 뭐가 더 좋은지 알아둬야 나중에 다른 안드로이드 개발 언어가 나왔을 때도 넘어갈 지 말 지 스스로 판단 할 수도 있지 않겠는가.

코틀린을 사용하는 이유

Kotlin은 더 간결합니다. 대략적인 추정에 따르면 코드 줄 수가 약 40% 감소합니다. 또한 유형 안전성이 더 뛰어나며, 예를 들어 널링할 수 없는 유형을 지원하므로 애플리케이션에서 NPE가 발생할 가능성이 적습니다. 스마트 캐스팅, 고차 함수, 확장 함수, 수신기가 있는 람다 등의 다른 기능을 통해 표현적인 코드를 작성할 수 있을 뿐만 아니라 DSL을 쉽게 생성할 수 있습니다. — 참고

번역체라 문장이 좀 어색하지만, 대충 간결하고 표현력이 좋다는 느낌으로 이해했다. 설명 중에 DSL을 쉽게 생성할 수 있다는데, DSL은 뭘까?

DSL, Domain Specific Language는 도메인 특화 언어를 말하며, 특정 도메인을 위해서 만들어진 언어라고 한다. 예를 들어 build.gradle에 적힌 내용은 빌드를 위해서 만들어진 DSL이라고 한다. Kotlin을 사용하면 이런 DSL을 쉽고 유연하게 작성할 수 있다고 한다.

정리하자면, 코틀린을 사용하는 이유는 다음과 같다.

  • 간결한 코드 작성 가능
  • 타입 추론 기능 제공
  • Null Pointer Exception(NPE)을 컴파일 시점에 미리 방지할 수 있음 (Null 처리 안정성)
  • 간결하고 안전하게 비동기 처리 가능
  • Java 보다 높은 품질의 프로그램 제작 가능

마치며

코틀린 너.. 이런 자식이었구나. 마냥 구글이 밀어주는 언어로만 알고 있었는데, 생각보다 많은 이점을 갖고 있는 언어였다.

profile
화이팅

0개의 댓글