현재 제가 가장 재미있어하고 좋아하는 언어는 Kotlin
입니다. 사실Kotlin
을 접한지는 1년도 되지 않았지만 처음 사용할 때 묘한 매력을 느꼈습니다. 그래서 개인 프로젝트를 진행할 때 웬만하면 kotlin
과 java
를 사용하고 있습니다. 하지만 kotlin
을 사용은 하고 있지만 장점과 단점에 대해 너무 모호하게 알고 있다는 생각이 들어서 정리를 해야겠다는 생각을 했습니다.
특징과 철학
일단 장단점을 알아보기 전에 kotlin
은 어떤 언어이고 특징을 가졌는지 알아봅시다. Kotlin
은 JetBrains에서 개발한 JVM 위에서 동작하는 언어입니다. 현재는 안드로이드 공식 언어로 자리매김을 하였습니다.
✔ 특징
- 정적 타입 언어 - 모든 프로그래밍 구성 요소의 타입을 컴파일 시점에 알 수 있고 프로그램 안에서 객체의 필드나 메소드를 사용할 때마다 컴파일러가 타입을 검증
- 함수형 프로그래밍 - 함수를 이용해서
Side Effect
가 없도록 선언형 프로그래밍을 이용
✔ 철학
- 실용성 - 기존의
Java
의 불편함을 개선하고 간소화하는 방향으로 만들어진 실용적 언어 - 간결성 - 기존 코드의 복잡하고 긴 코드들을 간소화
- 안정성 -
Null
을 컴파일 시점에 잡아 줄 수 있기 때문에 보다 쉽게 안정적인 코드 작성 - 상호 운용성 - 기존에서
Java
에서 사용하던 코드나 라이브러리들을 코틀린에서 그대로 사용 가능
장점
1️⃣ java와 100% 상호 운영이 된다. ➜ java 코드를 Kotlin으로 변환할 수 있고 그 반대도 가능하다!
2️⃣ NullpointerException
에서 자유롭다. ➜ ?
을 통해서 Null
이 될 수 있는 타입과 없는 타입을 명시적으로 구분할 수 있다.
3️⃣ Coroutine
을 통해 쉽고 성능 좋은 비동기 프로그래밍이 가능하다 ➜ 개인적으로 RxJava 보다 사용하고 이해하기 편하다고 생각합니다.
4️⃣ FullStack
개발이 가능하다.
5️⃣ Intellij
라는 강력한 IDE가 지원한다!
6️⃣ 코드가 간결해진다.
단점
1️⃣ static이 없어져서 java에서 호출할 때 쓸데없이 코드 길어진다.
2️⃣ 순수 java 패키지보다 패키지 사이즈가 더 커진다.
3️⃣ 학습 리소스가 java보다 적다. ➜ 그리 큰 단점은 아닌 것 같습니다.
정리
모든 언어가 장점과 단점이 있겠지만 kotlin
을 사용해본 결과, 장점이 더 많은 언어이고 안드로이드 개발을 하는 저로써는 앞으로도 많이 공부하고 애용할 것 같습니다. kotlin
만세!!
'프로그래밍 > Kotlin' 카테고리의 다른 글
[Kotlin] Data Class 이해하기 (0) | 2022.05.23 |
---|---|
[Kotlin] lateinit과 lazy란? - 지연 초기화를 통한 성능 개선 (0) | 2021.12.24 |
[Kotlin] (번역, 요약) Clean Code with Kotlin (0) | 2021.09.01 |
[Kotlin] Kotlin Collection 관련 유용한 함수 (0) | 2021.08.28 |
댓글