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

  • 맑음거창4.8℃
  • 맑음남해9.8℃
  • 맑음고창군8.3℃
  • 구름많음부산13.9℃
  • 맑음임실6.5℃
  • 맑음광주11.1℃
  • 구름많음북창원12.3℃
  • 맑음산청6.8℃
  • 맑음대구8.2℃
  • 맑음진도군8.8℃
  • 맑음진주7.2℃
  • 맑음동해9.2℃
  • 맑음안동6.6℃
  • 맑음문경8.4℃
  • 맑음보은4.3℃
  • 구름조금통영14.1℃
  • 맑음청주10.3℃
  • 맑음세종9.2℃
  • 맑음동두천7.1℃
  • 맑음영주3.4℃
  • 맑음인천10.7℃
  • 구름많음창원12.0℃
  • 구름많음양산시9.3℃
  • 맑음홍성9.3℃
  • 맑음춘천3.8℃
  • 구름많음성산11.3℃
  • 맑음완도12.9℃
  • 맑음이천8.9℃
  • 맑음제천3.1℃
  • 맑음고창7.7℃
  • 맑음장수4.0℃
  • 맑음부여6.8℃
  • 맑음인제4.2℃
  • 맑음정선군3.4℃
  • 구름많음울산10.9℃
  • 맑음보성군8.5℃
  • 구름많음김해시12.2℃
  • 맑음보령7.0℃
  • 맑음강릉11.3℃
  • 맑음양평6.9℃
  • 맑음구미7.5℃
  • 맑음봉화0.7℃
  • 맑음파주6.5℃
  • 맑음서청주5.5℃
  • 맑음영월5.9℃
  • 맑음대관령5.0℃
  • 맑음서산6.4℃
  • 맑음정읍8.5℃
  • 맑음전주9.8℃
  • 구름많음북부산9.5℃
  • 맑음울릉도13.3℃
  • 구름조금경주시6.7℃
  • 맑음영천5.6℃
  • 맑음속초11.1℃
  • 맑음대전10.4℃
  • 맑음강진군8.6℃
  • 구름많음고산15.6℃
  • 구름조금철원6.6℃
  • 맑음장흥6.0℃
  • 맑음서울10.2℃
  • 맑음백령도10.3℃
  • 구름조금포항10.1℃
  • 맑음광양시10.8℃
  • 맑음홍천5.0℃
  • 맑음여수12.5℃
  • 맑음울진7.6℃
  • 구름조금밀양7.1℃
  • 맑음남원7.4℃
  • 맑음순창군6.6℃
  • 맑음금산7.5℃
  • 맑음충주6.5℃
  • 맑음영광군8.6℃
  • 맑음청송군2.7℃
  • 구름조금강화7.7℃
  • 맑음북강릉11.4℃
  • 맑음합천7.5℃
  • 맑음군산9.4℃
  • 맑음흑산도12.8℃
  • 구름많음제주14.9℃
  • 맑음수원8.0℃
  • 맑음영덕8.1℃
  • 맑음목포12.7℃
  • 맑음상주10.6℃
  • 맑음해남8.2℃
  • 맑음원주9.9℃
  • 맑음의령군5.6℃
  • 맑음태백4.2℃
  • 맑음함양군5.3℃
  • 구름조금고흥7.8℃
  • 맑음북춘천3.1℃
  • 맑음추풍령7.4℃
  • 맑음의성3.6℃
  • 구름많음거제12.9℃
  • 맑음천안6.0℃
  • 맑음순천4.5℃
  • 구름많음서귀포15.4℃
  • 맑음부안10.3℃
  • 2025.11.25 (화)

자바 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