Kotlin - Kotlin 이란? 장단점을 알아보자

코틀린

Kotlin ?

코틀린은 크로스 플랫폼이며, 정적 타입의 프로그래밍 언어이다.

JVM (Java Virtual Machine) 에서 실행된다는 점에서 JAVA와 동일 하며, JetBrainss에서 개발하여 2016년에 최초로 발표되었다.

 

여기서 코틀린은 Java와의 호환성에 집중할 필요가 있습니다.

100%의 호환성을 자랑하며, 이 말은 즉, 코틀린을 기존 자바프로젝트에서 사용 할 수 있고, 자바 프로젝트에서 코틀린 코드를 호출 할 수 있다는 것을 의미합니다.

 

코틀린은 대표적으로 안드로이드 앱 개발에서 사용되며, 서버 사이드 개발 등 다양한 응용프로그램에서 사용 됩니다.


장점

  • Java와 상호 운영 가능 : Kotlin은 Java와의 100% 상호 호환성을 지니고있습니다.
  • 간결함 : 코틀린은 구문이 간결하고 코드를 더 이해하기 쉽게 작성할 수 있습니다.
  • Null Safety : Java의 NPE (Null Point Exception)을 방지하고자 코틀린의 Null Safety 기능이 있습니다.
  • 향상된 성능 : 코틀린 코드는 자바 바이트코드로 컴파일 되어 JVM에서 실행되므로, 자바와 동일한 성능을 지니고 있습니다.
  • 정적 타입 언어 : 모든 프로그래밍 구성요소의 타입을 컴파일 시점에 알 수 있고 프로그램 안에서 객체의 필드나 메소드를 사용할 때마다 컴파일러가 타입을 검증합니다.
  • 함수형 프로그래밍 언어 : 함수를 이용해서 Side Effect가 없도록 선언형 프로그래밍을 이용
  • 코루틴(Coroutine) : 비동기프로그래밍을 지원한다.

 


단점

  • 순수 Java 패키지보다 패키지 사이즈가 더 커진다.
  • 학습 리소스가 Java보다 적다.

결론

필자는 Java SpringBoot 관련 개발을 1년을 진행해왔고, 꾸준히 공부하던 중 Kotlin 에 대해서 알게되었습니다.

Kotin의 NPE 방지와 Java와 100% 호환성에 이끌려 공부를 진행해 볼까 합니다.

 

또 이것 저것 검색해본 결과로는 , 요즘 많은 프로젝트에서 Java -> Kotlin으로 옮겨가고 있다는 추세를 보았습니다.

안드로이드 프로젝트 뿐 아니라 웹에서도 적용 할 수 있다는 소식에 기쁨과 더불어 꾸준히 공부하여 Skill을 올릴 생각입니다.

 

Kotlin 기본문법에 대해서도 다룰 예정인데, 잠깐 배워봤지만 확실히 Java를 알고 배워서 그런지 이해하기가 쉽고, 제일 크게 느꼈던 점은 코드가 상당히 간결하다는 점입니다.

 

이미 안드로이드 개발자라면 Kotlin에 대해서 잘 알고 있을 것이고, 프로젝트에서도 많이 사용해보았을거라 생각됩니다.

혹여나, Java 개발자라면 Kotlin에 대해서 같이 알아보고 사이드 프로젝트 또한 진행해보면 재밌지 않을까 생각합니다.

 

'BE > Kotlin' 카테고리의 다른 글

Kotlin JWT 적용 시련기.. Filter가 문제였다  (0) 2023.12.08
Kotlin 기본문법 - Chapter 1  (0) 2023.07.30