Java와 Kotlin은 안드로이드 앱 개발에서 가장 널리 사용되는 프로그래밍 언어라고 할 수 있다.
이 중 Kotlin이 최근 몇 년 동안 굉장히 많은 인기를 얻고 있습니다.
또한 Kotlin 언어에 다양하고 재미있는 장점들이 많이 존재하기 때문에 구글 안드로이드 프로그래밍의 공식 언어로도 선정이 되었습니다.
1. 코틀린의 장점
나무위키에서 코틀린에 대해 적힌 글들중에 참 공감되는 문구가 있어서 가져와보겠습니다.
나무위키에서 코틀린의 특징 제일 처음에 다음과 같이 소개합니다.
장황했던 Java와 비교하면 눈물날 정도로 간결한 문법을 제공한다.
실제로 저도 안드로이드 개발언어로 근본의 Java를 먼저 공부를 했고, Kotlin으로 넘어왔는데요.
이 말이 그렇게 공감이 가지 않을 수 없습니다.
이렇듯 코틀린의 장점은 굉장히 많은데요.
따로 글을 정리해 보겠지만 대충 얘기해 보자면
간결한 문법, Null 안정성, 확장함수 사용 가능, 함수형 프로그래밍 강력 지원, 자동 타입 변환, 자바와의 상호 운용성 등이 있습니다.
실제로 Java로짜면 10~20줄 나오는 코드가 Kotlin으로는 두세 줄이면 표현이 가능하다고 하는데, 이걸 싫어할 개발자 또는 개발회사들이 있을까요?
2. 코틀린의 단점
사실 제가 집중하고 싶었던 부분은 단점이었습니다.
세상에 완벽한건 없거든요.
꼭 이부분을 인지하고 기억하고 싶어서 블로그를 쓰는 이유도 있습니다.
이렇게 장점은 많은데 과연 단점은 없을까?
당연히 있었습니다.
1. 컴파일 시간
Kotlin 코드는 자바 코드에 비해 컴파일 시간이 조금 더 오래 걸릴 수 있는데, Kotlin 컴파일러의 추가 기능과 안정성 검사 때문에 발생하는 부분이고, 일부 큰 프로젝트에서는 더 많은 시간이 걸릴 수 있습니다.
2. 런타임 라이브러리 크기
Kotlin 앱은 Kotiln 런타임 라이브러리를 포함하게 되므로 앱 크기가 약간 커질 수 있습니다. 이것은 작은 앱에서는 문제가 되지는 않지만, 특히 리소스가 제한된 환경에서 작업할 때 중요한 고려사항 일 수 있습니다.
3. Android 리소스 관리
Kotlin은 Android 개발에서는 매우 인기있지만, 일부 안드로이드 리소스 관리 도구와 라이브러리는 여전히 Java를 더 잘 지원하는 경우가 있습니다. Kotlin에선 느 이러한 도구와 라이브러리를 사용할 때 몇 가지 추가 설정이 필요할 수 있습니다.
3. 정리
장점에 대해서는 따로 정리해서 블로그를 올릴 기회가 있을거라 생각합니다.
너무 간략하게만 얘기하고 넘어가서 아쉽긴하네요.
단점을 보면 파일이 커지거나 하는 건 분명 크게 신경 써야 할 부분인 것 같습니다.
컴파일 시간이 오래 걸린다는 것도 지금은 작은 프로젝트를 진행하면서 크게 느끼지 못할 수도 있지만, 더 큰 프로젝트를 진행함에 있어 분명 신경 써야 할 부분인 것도 맞다고 생각합니다.
이러한 단점들을 명확하게 알고 있는 게 중요하다고 생각하고, 이런 단점들에 비해 장점들이 너무 월등하다 보니까 Kotlin이 대세가 되고 있지 않나 생각합니다.
실제로 채용공고를 보면 Kotlin이 원래 우대사항이었는데 이제 기본 자격요건으로 채워진 게 더 많은 걸 보면 추세는 Kotlin이 된 것 같네요.
아무튼 파이팅!
끝!
'코틀린' 카테고리의 다른 글
[Kotlin] RecyclerView 맛보기 (0) | 2024.04.23 |
---|---|
[Kotlin] ArrayList 정의 / 특징 / 사용법 (0) | 2024.04.04 |
[Kotlin] 클래스 상속(Inheritance) (0) | 2024.02.12 |
[Kotlin] 클래스의 생성자 (4) | 2024.02.06 |
[Kotlin] 클래스의 기본구조 (1) | 2024.02.05 |