반응형

코틀린이란?

코틀린은 ‘젯브레인스(JetBrains)’라는 회사에서 만든 안드로이드 개발을 위한 프로그래밍 언어로,

2011년에 공개한 오픈소스 프로그래밍 언어입니다.

코틀린은 기존에 안드로이드 어플리케이션 개발에 활용되는 자바(Java) 언어를 보완하고 대체하기 위해 탄생했습니다.

때문에 기존에 자바 언어로 동작하던 환경에서 코틀린 언어도 100% 호환되는 것이 특징입니다.

이는 기존에 자바로 개발하던 프로그램은 모두 코틀린으로도 개발할 수 있다는 의미입니다.

그리고 2017년 열린 구글 I/O라는 컨퍼런스에서 코틀린은 공식 지원 언어로 추가하였습니다.

이는 구글이 코틀린을 공식 지원 언어로 채택하면서, 코틀린 플러그인을 안드로이드 스튜디오(Android Studio)

3.0에서 바로 다운로드하여 이용할 수 있게 되었다는 의미입니다.

이외에도 안드로이드 공식 문서의 예제 코드도 코틀린으로 제공되는 것을 확인할 수 있습니다.

2019년, 구글은 코틀린을 안드로이드 1st 언어로 선정하였습니다.

공식적으로 안드로이드 개발을 위한 메인 언어로 코틀린을 지정한 것입니다.

코틀린의 장점

문법이 간결하며 사용성이 좋다.

1995년에 세상에 나온 자바에 비해 코틀린은 그 역사가 굉장히 짧은 편입니다.

성능이나 안정성 측면에서는 역사가 긴 자바의 장점이 독보적이지만, 코틀린은 기존 언어가 지닌 단점이나 한계를

보완하여 탄생했기 때문에 개발자 입장에서는 훨씬 사용성이 좋다고 할 수 있습니다.

코틀린은 문법이 간결하여 복잡한 구문 없이 비교적 직관적으로 코드를 작성할 수 있습니다.

또한 표현력이 좋아 입문자 입장에서는 자바보다는 훨씬 빠르게 안드로이드 개발을 시작할 수 있다는 것이 장점입니다.

 

쉬운 유지관리

현재 시중에서 이용할 수 있는 대부분의 통합개발환경(IDE)은 코틀린을 지원하고 있으며,

따라서 개발자들이 새로운 IDE를 배워야 할 필요가 없기 때문에 생산성을 최적화하는 데 있어서

아주 많은 도움이 됩니다.

 

팀 효율성 향상

직관적이면서도 간결한 문법 덕분에, 코틀린은 팀의 효율성을 크게 향상시킬 수 있는 컴팩트하면서도

깔끔한 프로그래밍 언어입니다.

좀 더 쉽게 말하자면, 개발자들은 자바에 비해서 코틀린으로 더 많은 일들을 할 수 있으며,

더 적은 양의 코딩만으로도 안드로이드 애플리케이션을 구축해서 배포할 수 있다는 겁니다.

 

Null Safe 언어이다.

자바로 개발을 하면서 가장 많이 마주치는 문제는 바로 NPE(NullPointException)입니다.

코틀린은 Nullable과 Non-nullable 이라는 개념을 가지고 있어, null이 발생하지 않도록 만들어 줍니다.

그래서 자바 라이브러리와 함께 사용하지 않는 한, 코틀린으로만 개발할 때는 NPE와 같은 예외 문제가

발생하지 않는다는 것이 장점입니다.

 

기존 라이브러리와의 상호운용성이 좋다.

코틀린은 기존의 자바를 보완하고 대체하기 위해 탄생했기 때문에, 자바와 100% 호환됩니다.

한 프로젝트 안에 자바 파일과 코틀린 파일이 함께 들어 있더라도 작동에 전혀 문제가 없다는 뜻입니다.

자바 기반의 라이브러리도 모두 문제 없이 사용할 수 있습니다.

또한 자바로 만들어진 프로젝트도 처음부터 코틀린으로 다시 개발할 필요 없이, 이후 생성되는 파일만 전부

코틀린으로 작성해도 전체 프로젝트가 정상적으로 작동하여 효율적으로 개발할 수 있습니다.

코틀린의 단점

속도가 느리다.
안드로이드 어플리케이션을 위한 빌드를 생성한다면, 여전히 자바의 성능이 더 좋습니다.

컴파일 시, 자바로 변환하고 나서 바이트 코드로 변환하기 때문에 컴파일 속도가 상대적으로 느린 편입니다.

 

학습 리소스의 제한
코틀린이 안드로이드 1st 언어로 지정되었다고 해도,

1995년에 나온 자바에 비해서는 역사가 매우 짧기 때문에 코틀린의 생태계 또한 작을 수밖에 없습니다.

코틀린으로 전환하는 안드로이드 개발자들의 수가 매일 증가하고 있기는 하지만,

코틀린을 학습하고 마스터하기 위해 시중에서 이용할 수 있는 리소스의 수는 여전히 한계가 있습니다.

코틀린으로 전환하는 안드로이드 개발자들의 수가 매일 증가하고 있기는 하지만,

코틀린을 학습하고 마스터하기 위해 시중에서 이용할 수 있는 리소스의 수는 여전히 한계가 있습니다. 

 

자바 기존 라이브러리의 활용이 어려울 수 있다.
자바로 개발한 프로젝트를 코틀린으로 이어서 작성하더라도, 자바 문법에 익숙하지 않다면 자바 기반의 기존

라이브러리를 완전히 이해하지 못하고 사용할 수 있습니다.

아직까지는 코틀린 기반의 전용 라이브러리보다는 자바 기반이 훨씬 많기 때문에, 코틀린으로 안드로이드

개발을 시작하더라도 프로젝트 개발이 심화될수록 자바에 대한 이해가 필수적으로 요구될 수 있겠죠.

반응형

+ Recent posts