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

  • 흐림영천18.9℃
  • 흐림고창군18.2℃
  • 비청주20.3℃
  • 비광주17.5℃
  • 흐림남원17.5℃
  • 흐림장흥18.8℃
  • 흐림울진19.7℃
  • 비수원19.2℃
  • 흐림보령19.6℃
  • 비부산19.1℃
  • 흐림이천18.8℃
  • 흐림거제18.2℃
  • 흐림순천17.0℃
  • 흐림대관령15.6℃
  • 비전주18.8℃
  • 흐림보성군18.5℃
  • 흐림세종18.5℃
  • 흐림추풍령17.2℃
  • 비북부산19.5℃
  • 흐림서산19.0℃
  • 비백령도19.6℃
  • 흐림상주18.2℃
  • 흐림구미19.4℃
  • 흐림강릉19.4℃
  • 흐림충주18.8℃
  • 흐림영덕18.8℃
  • 흐림군산18.4℃
  • 흐림영주17.9℃
  • 비제주24.7℃
  • 비창원18.4℃
  • 흐림문경17.9℃
  • 흐림광양시17.5℃
  • 비서울20.0℃
  • 흐림정읍18.1℃
  • 흐림순창군17.1℃
  • 비인천19.6℃
  • 흐림정선군16.3℃
  • 흐림동두천19.6℃
  • 흐림산청16.7℃
  • 흐림임실17.6℃
  • 흐림진도군19.0℃
  • 비북강릉19.6℃
  • 흐림보은18.2℃
  • 흐림파주18.0℃
  • 흐림부여19.1℃
  • 흐림금산18.8℃
  • 흐림거창17.2℃
  • 흐림봉화16.6℃
  • 흐림부안18.4℃
  • 흐림인제17.5℃
  • 비안동17.6℃
  • 흐림합천18.4℃
  • 흐림천안19.5℃
  • 비목포17.8℃
  • 흐림경주시19.7℃
  • 흐림북창원19.1℃
  • 구름많음속초21.6℃
  • 흐림고창18.3℃
  • 흐림해남18.6℃
  • 흐림성산24.2℃
  • 흐림철원18.7℃
  • 비홍성19.5℃
  • 흐림춘천19.0℃
  • 흐림원주18.0℃
  • 비포항19.4℃
  • 흐림통영18.1℃
  • 흐림청송군17.2℃
  • 흐림의령군16.9℃
  • 흐림영월17.0℃
  • 흐림강화19.1℃
  • 흐림장수16.0℃
  • 비울산18.8℃
  • 흐림양평18.8℃
  • 흐림진주16.7℃
  • 흐림밀양19.1℃
  • 비대구19.2℃
  • 흐림영광군17.7℃
  • 흐림서청주19.1℃
  • 흐림함양군16.4℃
  • 흐림고산22.8℃
  • 흐림완도18.4℃
  • 흐림홍천17.8℃
  • 흐림동해19.7℃
  • 흐림북춘천19.7℃
  • 흐림남해17.8℃
  • 비대전18.9℃
  • 흐림의성18.5℃
  • 흐림양산시19.3℃
  • 흐림고흥18.1℃
  • 천둥번개서귀포23.9℃
  • 흐림울릉도21.4℃
  • 비흑산도18.6℃
  • 흐림강진군18.3℃
  • 비여수17.6℃
  • 흐림제천16.9℃
  • 흐림태백14.8℃
  • 흐림김해시18.5℃
  • 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