본문 바로가기
프로그래밍/Kotlin

[Kotlin] 코틀린(kotlin)의 장단점은 무엇일까?

by tempus 2021. 11. 19.
반응형

 

현재 제가 가장 재미있어하고 좋아하는 언어는 Kotlin입니다. 사실Kotlin을 접한지는 1년도 되지 않았지만 처음 사용할 때 묘한 매력을 느꼈습니다. 그래서 개인 프로젝트를 진행할 때 웬만하면 kotlinjava를 사용하고 있습니다. 하지만 kotlin을 사용은 하고 있지만 장점과 단점에 대해 너무 모호하게 알고 있다는 생각이 들어서 정리를 해야겠다는 생각을 했습니다.

 

특징과 철학

일단 장단점을 알아보기 전에 kotlin은 어떤 언어이고 특징을 가졌는지 알아봅시다. KotlinJetBrains에서 개발한 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 만세!!

 

반응형

댓글


loading