반응형

스마트폰 애플리케이션에 대해 모르고 있던 때에 안드로이드는 Java, IOS는 Xcode로 개발하는 줄 알았다.

어...?

반은 맞고 반(?)은 틀렸다. 안드로이드는 맞지만 IOS는 Swift라는 언어를 사용한다. 애초에 'Xcode'는 언어가 아니고 IDE다.

어쨌든 그 후 안드로이드 애플리케이션 개발 공부를 시작하면서 'Android Studio'라는 IDE를 사용해 'Kotlin'이라는 언어로 개발을 한다는 걸 알았다. 물론 Java로도 개발이 가능하지만 구글이 Kotlin을 안드로이드의 공식 언어로 선언하면서 앞으로의 안드로이드 애플리케이션 개발은 Kotlin을 사용하게 될 것이라는 것을 알게 되었다.

https://developers-kr.googleblog.com/2017/06/android-announces-support-for-kotlin.html

 

코틀린이 안드로이드의 공식 언어로 추가되었습니다.

<블로그 원문은 여기 에서 확인하실 수 있으며, 블로그 번역 리뷰는 김태호(Google)님이 참여해 주셨습니다.> 작성자: Mike Cleron , 안드로이드 플랫폼 이사 안드로이드 팀은 코틀린 프로그래밍

developers-kr.googleblog.com

Java는 겉핥기식이지만 다룰 줄은 알고 있는 상태였기에 기본적인 개발만 가능한 정도로 공부하고 바로 Kotlin을 사용한 개발 공부를 시작했었다.

과거에도 그랬지만 지금도 'Java 말고 왜 Kotlin으로 개발을 하는가?'라는 의문이 있었다. 대수롭지 않게 생각하고 넘겨왔으나 필요한 일이 생겨 조사해 보았다.


일단 글을 작성하기에 앞서 Kotlin이 좋은 건 알겠는데 'Java에 비해 무조건 상위호환인가?'라는 궁금증이 생겨 열심히 찾아보았으나, 공식 문서를 보나 발표 내용으로 보나 어딜 봐도 Java가 Kotlin보다 뛰어난 부분에 대한 정보는 없었다. 물론 Java가 더 뛰어난 부분이 있었으면 굳이 Kotlin을 사용할 필요도 없고 만약 있었다 하더라도 보완해냈을 테니 당연한 거지만...

그래서 원래 취지는 '두 언어의 장단점'이었지만 조사 이후는 'Kotlin이 Java보다 더 좋은 이유'로 바뀌게 되었다.

 

 

그래서 Kotlin이 뭔데?

Kotlin은 'JetBrains'이라는 개발사에서 공개한 오픈 소스 프로그래밍 언어이다. Java와 유사하지만 더 간결하며 다양한 기능이 추가되었다. 또한 Java와 완벽하게 연동된다.

 

Kotlin이 Java에 비해 왜 좋은데?

아주 간단하게 요약하면 더 간단하고 안정적이기 때문이라고 한다. Java에선 작성해야 하는 getter, setter, new, 세미콜론(;), 생성자 등이 Kotlin에선 작성하지 않아도 사용이 가능하며 이는 곧 코딩에 소요되는 시간이 줄어들고 시각적으로 간결해짐을 의미한다. 그 밖에도 Null로부터의 안전성, 코루틴 지원, 람다식 지원, 자동 형변환, 그 밖에도 많은 장점과 특징들을 갖고 있다. 개인적으로는 변수 선언과 함수 반환 값의 타입을 생략할 수 있는 게 매우 편리했다. Java로 개발하던 분들의 말로는 NPE(Null Point Exception) 방지를 위해 작성했던 코드들이 필요 없어진 것도 언급하고 있더라.

또한 기존의 Java코드로 되어 있는 레퍼런스들이나 라이브러리 사용 시에 자동으로 Java코드를 Kotlin코드로 변경해 주는 기능도 있어 사용에 불편함이 없다.

 

그래서? Kotlin 왜 쓰는 거야?

이 질문을 받게 되면 역시나 가장 먼저 '편해서!'라고 할 것 같다. Java로 개발하다가 Kotlin으로 넘어온 것이 아니라 구체적인 경험을 토대로 답변을 하기는 힘들겠지만, 기존의 Java 코드였다면 발생했을 불편함이나 코드의 장황함을 Kotlin이 해소시켜 주는 예시들을 글을 쓰기 위해 조사하며 많이 봤기 때문에(이번 글을 쓰는 목적이기도 하다) 적어도 일부러 Java 코드를 사용할 일은 없을 것 같다. 물론 이미 Java로 작성되어 있는 앱의 유지보수 시에는 어쩔 수 없겠지만...

그 밖에도 Kotlin의 간결함, 편의성, 안정성을 연관 지어 대답할 수 있었으면 좋겠다.


https://namu.wiki/w/Kotlin

 

Kotlin - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권

namu.wiki

https://juhi.tistory.com/72

 

[kotlin vs java ] 코틀린과 자바의 차이, 코틀린의 장점

기존에 java로 구현했던 spring 프로젝트를 kotlin으로 전환했다. 코틀린을 도입하기로 결정한 이유는 다음과 같았다. 왜 kotlin인가? 간결성, 생산성 코틀린은 자바보다 더 간결하고 직관적이라, 쓰고

juhi.tistory.com

https://developer.android.com/kotlin?hl=ko 

 

Kotlin과 Android  |  Android Developers

Kotlin is Android's recommended programming language for modern android development.

developer.android.com

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기