Kotlin에 대해 학습하기로 한다. 그전에 앞서 내가 왜 ❓ 코틀린에 관심을 가지게 되었는지 설명하겠다. 내가 개발자로 입문하던 시절 kt 연구원인 친척 형이 자바보다는 코틀린을 추천했었다. 아무것도 몰랐던 나는 그래도 사람들이 많이 사용하고 당시 더 유명했던 Java 택했다. 이후에 코틀린 vs Java 구조에 말이 많다는 것을 알게 되었다. 그리고 부트캠프를 수료하고 요즘 들어 코틀린 코드가 더 많이 보이기 시작했다. 안드로이드 공식 개발 언어로 채택이 되었다는 것도 이제야 알게 되었다. 카카오도 Kotlin을 자주 사용하기를 추천한다.
어차피 새로운 것을 배우는 것은 항상 즐거운 일이며, 스펙트럼이 넓어지는 게 득이 되면 득이됐지 손해는 아닐 테니, 하루 빨리 배워보기로 결심했다.
코틀린(Kotlin)은 JetBrains에서 개발한 프로그래밍 언어로, 2011년에 처음 발표되었고, 2016년에는 안드로이드 앱 개발을 위한 공식 언어로 채택되었다. 코틀린은 자바 플랫폼에서 동작하며, 현대적이고 실용적인 언어를 지향한다.
코틀린은 널 포인터 예외를 방지하기 위하여 변수 선언 시에 null을 허용하지 않으며, 명시적으로 허용해야 한다. -> null 버그를 줄여준다.
코드가 간결하고 표현력이 뛰어나다.
-> 적은 양의 코드로 동일한 작업 수행 가능
함수형 프로그래밍을 지원하고, 기존 클래스에 새로운 함수를 추가할 수 있는 확장 함수를 지원한다.
-> 기존 클래스를 수정하지 않고도 새로운 기능을 추가할 수 있으며, 병렬 처리 및 비동기 프로그래밍을 더 쉽게 만들어 준다.
다중 스레드를 사용하더라도 안전한 환경을 유지할 수 있다.
-> 다중 스레드 프로그램에서는 동기화를 적절히 처리하지 않으면 여러 스레드가 동일한 데이터를 변경함으로써 문제가 발생할 수 있는데, 불변 데이터 구조를 활용하고 해당 데이터 구조에 순수 함수를 적용하면, 여러 스레드가 동시에 데이터를 변경하는 일이 사라지게 된다. 이를 통해 복잡한 동기화 작업을 추가로 수행하지 않아도 안전한 다중 스레드 환경을 유지할 수 있다.
위가 Java, 아래가 Kotlin 코드로 간단한 내용을 적어 보았다.
코틀린의 장점이라 하면 무엇보다도 간결성과 편리함인 것 같다.
내가 파이썬에 흥미를 가지게 되었던 계기는 C와 Java를 통해서 구현하기엔 길었던 내용이 굉장히 간단해지는 것에 매력을 느꼈기 때문이다.
Java를 대체할 장점들이 있다는 것은 알겠으나 🙄, 사용을 해 보아야 그 편의성을 체감할 것 같다. 인프런에서 코틀린 수업을 듣기로 했고, Kotlin 학습 내용은 시리즈로 올려볼 생각이다.