✨ 오늘 공부한 것
- 코틀린 문법 종합반 1~2주차 강의 - 알고리즘 개인정보 수집 유효기간 풀이
현재 대부분의 (새로 만들어지는) 안드로이드 앱 개발에는 코틀린이 사용된다고 한다. 많고많은~ 언어 중에 왜 코틀린일까?
강의를 듣기 전에는 사실 생각해본 적 없는 질문이었다. 그저 자바를 사용했을 때보다 코드가 좀 더 간단하네? 정도로만 생각하고 넘어갔다. 그런데 등골이 서늘해지는 면접 질문이 생각나버렸다.
이 프로젝트에 해당 기술 스택을 사용하신 이유가 뭔가요?
물론 이런 질문을 안할 수도 있겠지만, 뇌 빼고 ‘헤헤 코틀린 최고’ 이러면서 개발하는 것보다 ‘코틀린을 써야 능률이 올라갑니다’ 같은 생각이라도 하면서 개발하는 게 더 도움이 될 것 같았다. 또 뭐가 더 좋은지 알아둬야 나중에 다른 안드로이드 개발 언어가 나왔을 때도 넘어갈 지 말 지 스스로 판단 할 수도 있지 않겠는가.
Kotlin은 더 간결합니다. 대략적인 추정에 따르면 코드 줄 수가 약 40% 감소합니다. 또한 유형 안전성이 더 뛰어나며, 예를 들어 널링할 수 없는 유형을 지원하므로 애플리케이션에서 NPE가 발생할 가능성이 적습니다. 스마트 캐스팅, 고차 함수, 확장 함수, 수신기가 있는 람다 등의 다른 기능을 통해 표현적인 코드를 작성할 수 있을 뿐만 아니라 DSL을 쉽게 생성할 수 있습니다. — 참고
번역체라 문장이 좀 어색하지만, 대충 간결하고 표현력이 좋다는 느낌으로 이해했다. 설명 중에 DSL을 쉽게 생성할 수 있다는데, DSL은 뭘까?
DSL, Domain Specific Language는 도메인 특화 언어를 말하며, 특정 도메인을 위해서 만들어진 언어라고 한다. 예를 들어 build.gradle
에 적힌 내용은 빌드를 위해서 만들어진 DSL이라고 한다. Kotlin을 사용하면 이런 DSL을 쉽고 유연하게 작성할 수 있다고 한다.
정리하자면, 코틀린을 사용하는 이유는 다음과 같다.
코틀린 너.. 이런 자식이었구나. 마냥 구글이 밀어주는 언어로만 알고 있었는데, 생각보다 많은 이점을 갖고 있는 언어였다.