CWN(CHANGE WITH NEWS) - 자바 vs 코틀린, 안드로이드 앱 개발에 가장 적합한 언어는?

  • 구름많음철원20.2℃
  • 흐림진주16.8℃
  • 흐림고산26.8℃
  • 흐림태백14.8℃
  • 흐림정선군17.1℃
  • 흐림완도19.5℃
  • 흐림영덕18.5℃
  • 흐림양산시19.8℃
  • 흐림산청17.5℃
  • 구름많음동해19.5℃
  • 흐림거창17.1℃
  • 흐림안동17.9℃
  • 흐림해남19.9℃
  • 흐림고창20.0℃
  • 흐림고흥19.2℃
  • 흐림영주17.1℃
  • 흐림강화21.3℃
  • 비청주20.6℃
  • 흐림남원18.0℃
  • 흐림장흥18.9℃
  • 흐림고창군19.9℃
  • 흐림임실17.8℃
  • 흐림보령19.8℃
  • 흐림합천18.2℃
  • 비부산20.0℃
  • 흐림금산18.1℃
  • 흐림김해시19.1℃
  • 흐림부안19.0℃
  • 흐림상주17.5℃
  • 흐림강진군19.2℃
  • 비광주18.9℃
  • 흐림구미17.9℃
  • 흐림북춘천21.4℃
  • 구름많음춘천19.2℃
  • 비북부산20.0℃
  • 흐림원주20.5℃
  • 흐림의성18.5℃
  • 흐림보은17.8℃
  • 흐림울릉도20.8℃
  • 흐림순창군17.8℃
  • 흐림보성군18.7℃
  • 흐림진도군20.9℃
  • 흐림광양시18.5℃
  • 구름많음인제18.5℃
  • 흐림서산18.6℃
  • 비서귀포27.3℃
  • 흐림서울21.7℃
  • 흐림청송군17.6℃
  • 흐림세종18.0℃
  • 흐림통영19.6℃
  • 비전주19.0℃
  • 흐림함양군17.4℃
  • 비대구18.9℃
  • 흐림밀양18.7℃
  • 흐림대관령15.0℃
  • 비창원19.1℃
  • 비인천21.7℃
  • 흐림거제20.2℃
  • 흐림추풍령17.0℃
  • 흐림제천18.6℃
  • 흐림수원21.1℃
  • 흐림봉화16.6℃
  • 흐림정읍19.6℃
  • 흐림장수16.7℃
  • 비홍성18.5℃
  • 흐림영월18.1℃
  • 비여수19.0℃
  • 비목포19.6℃
  • 흐림부여18.4℃
  • 흐림흑산도21.2℃
  • 흐림영천18.6℃
  • 흐림충주20.3℃
  • 흐림홍천19.2℃
  • 구름많음속초19.6℃
  • 흐림이천19.2℃
  • 비대전18.3℃
  • 흐림남해18.5℃
  • 흐림강릉20.3℃
  • 흐림순천17.6℃
  • 흐림서청주18.5℃
  • 흐림동두천20.6℃
  • 흐림군산18.3℃
  • 흐림경주시19.4℃
  • 비제주25.8℃
  • 흐림의령군17.1℃
  • 흐림영광군19.5℃
  • 흐림울진19.3℃
  • 흐림양평20.6℃
  • 비포항20.3℃
  • 비울산18.8℃
  • 비북강릉19.3℃
  • 흐림성산26.1℃
  • 흐림문경17.4℃
  • 흐림북창원19.3℃
  • 흐림천안19.9℃
  • 구름많음백령도20.5℃
  • 흐림파주19.6℃
  • 2025.10.03 (금)

자바 vs 코틀린, 안드로이드 앱 개발에 가장 적합한 언어는?

박소현 / 기사승인 : 2021-10-19 13:40:13
  • -
  • +
  • 인쇄

모바일 애플리케이션 등장 초기부터 앱 개발에 가장 널리 사용된 언어 중 하나는 자바였다. 그동안 많은 개발자가 자바를 이용해 안드로이드 앱을 개발해왔다. 그러나 2019년 5월, 구글이 안드로이드 앱 개발을 위해 자체 개발한 프로그래밍 언어 코틀린(Kotlin)을 공개했다. 그렇다면, 안드로이드 앱 개발 시 자바와 코틀린 중 어떤 언어를 사용하는 것이 좋을까?

해외 프로그래밍 전문 온라인 포럼 MUO가 분석한 안드로이드 앱 개발 목표별 적합한 언어 비교 결과를 아래와 같이 설명한다.

자바 vs 코틀린, 무엇이 다를까?
안드로이드 앱 개발에 더 적합한 언어를 알아보기 전, 자바와 코틀린의 특성을 간단하게 살펴보자.

우선, 자바는 가장 오래된 객체 지향 언어 중 하나이다. 주로 개방형 휴대폰 동맹(Open Handset Alliance)이 자바로 안드로이드OS 사용자 인터페이스를 구성한다. 대다수 서버와 기기, 운영체제가 자바를 지원한다. 게다가 자바 프로그래밍 코드를 바이트코드로 압축할 때, 자바 가상머신(JVM)으로 실행된다. 자바의 일부 구문은 C++, C 등과 비슷하지만, 종합적인 하위 수준 프로그래밍 요소를 제공할 수는 없다. 현재 스포티파이와 캐쉬 앱(Cash App), 시그널(Signal) 등 인기 앱 제작에 사용된다.

코틀린은 트렌딩 오픈소스 언어이다. 기본적으로 통합 개발 환경을 지원하며, 자바 가상머신을 위한 정적 언어이기도 하다. 코틀린은 자바보다 더 단순하면서 깔끔하고, 압축 속도가 빠른 기능과 객체 지향 언어를 혼합했다. 그러나 바이트코드로 코드를 압축한 뒤 자바 가상머신에서 실행할 수 있어, 대다수 기기와 플랫폼에서 작동할 수 있다. 현재, 트렐로(Trello), 트위터, 넷플릭스 등 테크 업계의 유명 대기업이 코틀린을 활용한다.

기능 확장
기능 확장을 하고자 한다면, 코틀린을 사용하는 것이 좋다. 코틀린을 사용하면, 함수 이름에 글래스 명칭의 접두사를 추가하면서 기존 수준에서 기능을 손쉽게 확장할 수 있다. 자바는 확장 함수를 지원하지 않는다. 기존 클래스에서 기능을 확장할 수 있으나 처리 시간이 오래 걸리므로 부적절하다.

코드양&코딩 속도
유사한 프로그램이라면, 자바의 코드양보다 코틀린의 코드 양이 훨씬 더 적다. 코틀린은 코드 오류를 최소화하여 개발자의 노력을 단순화한다. 실제로 실무에서도 간결성 때문에 자바보다 코틀린을 주로 채택한다.

하지만, 자바와 코틀린 모두 코딩 속도 자체는 비슷하다. 코틀린은 코드 작성자가 더 적은 코드를 입력하도록 한다. 그러나 작업 솔루션에 도달하려면 코틀린을 작업하는 데 더 오랜 시간이 걸린다. 반대로 자바는 많은 코드를 입력해야 하지만, 코틀린보다는 더 빠르고 쉽게 솔루션을 찾을 수 있다.

프로그래밍 성능
코틀린은 개발자의 수월한 작업에 도움을 줄 추가 기능을 제공한다. 주로 멀티 스레드 앱 생성에는 코틀린을 선호한다. 그러나 코틀린을 기반으로 압축할 때, 자바보다 속도가 느리다는 문제가 발생한다. 그러나 두 언어 간 압축 시간 차이는 그리 크지 않은 편이다. 프로그래밍 언어가 자바 가상머신에서 실행되기 전, 바이트코드로 변환된다. 전반적인 성능 측면에서 자바와 코틀린 모두 유사하다.

동시 실행 지원
안드로이드에서는 오래 실행되는 작업이 주요 스레드를 막을 수 있다. 이 때문에 앱이 중단되거나 제대로 응답하지 않는 문제가 발생할 수도 있다. 이 문제를 극복하고자 개발자가 동시 실행 패턴을 설계했다.

코틀린은 동시 실행을 이용해 코드 실행을 일시 중지하고 나중에 다시 시작한다. 여러 개의 스레드를 작성하지 않고 한 스레드에서 여러 가지 작업을 실행하도록 하며, 앱 코드 자체를 더 간결하게 작성한다.

반면, 자바는 동시 실행을 지원하지 않는다. 안드로이드 앱에서 긴 작업을 처리할 때, 자바를 사용하면, 여러 스레드를 만들 수 있다. 그러나 프로그래밍 코드베이스가 더 많아지면서 코드 오류가 발생할 확률이 높아진다.

자바냐 코틀린이냐, 그것이 문제로다
구글 플레이 스토어 측면에서 코틀린은 안드로이드 앱 개발의 공식 언어이다. 대다수 안드로이드 개발자는 플레이 스토어 앱 승인을 위해 코틀린을 선호한다. 그러나 여전히 안드로이드를 비롯한 여러 플랫폼에서 일반 목적으로 작업할 때는 자바가 더 적합하다. 결과적으로 개발자의 만족도와 후원사의 마케팅 전략에 따라 안드로이드 앱 개발 프로젝트 개발 언어를 선택하게 될 것이다.

[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

최신기사

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0

Today

Hot Issue