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

  • 흐림여수23.1℃
  • 흐림구미21.5℃
  • 구름많음진주21.3℃
  • 구름많음백령도20.7℃
  • 흐림안동20.9℃
  • 흐림강진군20.7℃
  • 구름많음순창군21.9℃
  • 구름많음순천21.2℃
  • 구름많음고창21.8℃
  • 흐림춘천21.5℃
  • 구름많음전주22.6℃
  • 구름많음북강릉18.8℃
  • 흐림청송군19.4℃
  • 흐림함양군21.8℃
  • 흐림보령22.6℃
  • 흐림봉화19.2℃
  • 구름조금성산23.0℃
  • 구름많음서귀포25.2℃
  • 구름많음보성군21.7℃
  • 구름많음서울22.9℃
  • 흐림서산21.2℃
  • 흐림속초20.2℃
  • 흐림남원22.0℃
  • 구름많음제주24.5℃
  • 흐림수원22.2℃
  • 구름많음완도21.7℃
  • 구름많음창원22.3℃
  • 흐림제천19.4℃
  • 흐림홍천20.6℃
  • 구름많음흑산도21.2℃
  • 구름많음해남21.4℃
  • 구름조금고산23.2℃
  • 구름많음광양시22.6℃
  • 흐림부안22.0℃
  • 구름많음영광군22.1℃
  • 구름많음남해21.4℃
  • 흐림영덕20.1℃
  • 흐림부여20.6℃
  • 흐림울산20.9℃
  • 흐림의성20.2℃
  • 흐림원주20.6℃
  • 흐림광주21.9℃
  • 흐림충주20.2℃
  • 구름많음강릉20.0℃
  • 흐림포항20.9℃
  • 흐림양평20.9℃
  • 구름많음울릉도21.4℃
  • 흐림천안20.7℃
  • 구름많음북창원23.0℃
  • 흐림정선군18.2℃
  • 구름많음임실19.9℃
  • 흐림목포22.0℃
  • 구름많음청주22.6℃
  • 흐림인제19.1℃
  • 흐림경주시20.1℃
  • 흐림고창군21.8℃
  • 흐림파주21.0℃
  • 구름많음철원21.0℃
  • 흐림강화20.6℃
  • 흐림이천20.6℃
  • 흐림영주19.5℃
  • 흐림홍성21.9℃
  • 구름많음세종21.6℃
  • 흐림상주20.9℃
  • 흐림영천19.9℃
  • 흐림합천21.7℃
  • 흐림거창20.7℃
  • 흐림산청21.2℃
  • 흐림동두천21.5℃
  • 흐림장수19.5℃
  • 흐림영월19.1℃
  • 흐림문경20.6℃
  • 흐림정읍22.4℃
  • 구름많음인천22.7℃
  • 흐림금산21.0℃
  • 구름많음김해시22.3℃
  • 구름많음대전21.4℃
  • 구름많음장흥20.5℃
  • 흐림북춘천21.3℃
  • 흐림태백16.7℃
  • 흐림군산22.1℃
  • 구름많음동해19.1℃
  • 흐림의령군20.8℃
  • 구름많음거제22.4℃
  • 구름조금부산22.2℃
  • 구름많음통영22.7℃
  • 흐림울진20.6℃
  • 흐림대구21.6℃
  • 흐림밀양23.2℃
  • 흐림진도군21.7℃
  • 흐림추풍령20.1℃
  • 구름조금북부산22.1℃
  • 흐림서청주21.3℃
  • 흐림보은20.3℃
  • 흐림대관령12.6℃
  • 맑음고흥21.1℃
  • 구름많음양산시22.5℃
  • 2025.10.04 (토)

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