Android에서 Kotlin 사용하기 FAQ

Android에서 Kotlin을 최우선 지원 언어로 만든 이유는 무엇인가요?

Kotlin은 간결하고 표현력이 뛰어나며, 예기치 않은 유형 오류와 null이 발생하지 않도록 설계된 Android 호환 언어입니다. Kotlin은 자바 프로그래밍 언어와 원활하게 호환되므로, 자바 언어를 즐겨 사용하는 개발자는 자바 언어를 계속 사용하는 동시에 간편하게 점진적으로 Kotlin 코드를 추가하고 Kotlin 라이브러리를 활용할 수 있습니다. 또한 이미 많은 Android 개발자가 Kotlin을 사용하면 더 재밌고 빠르게 개발할 수 있음을 알았기 때문에, Google에서는 이러한 Kotlin 사용자를 위한 지원을 강화하고자 합니다. 자세한 내용은 Android의 Kotlin 우선 접근 방식을 참고하세요.

Kotlin은 Android 스튜디오와 어떻게 함께 사용하나요?

Kotlin은 Android 스튜디오에서 완전히 지원됩니다. Android 스튜디오의 모든 새 출시 버전에서는 Kotlin 파일이 포함된 새 프로젝트를 만들고, 자바 언어 코드를 Kotlin으로 변환하고, Kotlin 코드를 디버깅하는 등의 기능을 지원합니다.

Android 스튜디오에서 Kotlin을 디버깅하려면 어떻게 해야 하나요?

자바 코드를 디버깅할 때와 마찬가지로 Kotlin을 디버깅하면 됩니다. 다르게 실행해야 할 작업은 없습니다.

이 외에 Kotlin에 지원되는 IDE 기능(예: 린트,

자동 완성, 리팩터링)으로는 무엇이 있나요?

Android 스튜디오는 Kotlin을 위한 도구를 완벽히 지원합니다.

Kotlin의 미래는 어떤가요?

Google은 JetBrains의 신중한 Kotlin 설계 작업을 고려하여 해당 언어를 지원하기로 했습니다. Google에서는 JetBrains와 제휴하여 언어에서 프레임워크, 도구에 이르기까지 개발자로서 훌륭한 작업을 진행하고자 합니다. 그리고 Kotlin 언어를 비영리 재단으로 옮기는 일에 협력할 수 있게 되어 기쁘게 생각합니다.

Kotlin은 오픈소스인가요?

Kotlin의 기본 라이선스는 Apache 소프트웨어 라이선스, 버전 2.0('Apache 2.0')이며 대부분의 Kotlin 소프트웨어는 이 라이선스에 따라 라이선스가 부여됩니다. 본 프로젝트를 진행하면서 기본 라이선스를 준수하기 위해 노력하겠지만, 사례별로 처리되는 예외가 있을 수 있습니다. 예를 들어 Kotlin에서 사용하는 특정 서드 파티 종속성은 Apache 2 라이선스와 계속 호환되는 다른 오픈소스 라이선스에 따라 라이선스가 부여되었을 수 있습니다.

자바와 Kotlin 언어 중에서 선택하려면 어떻게 해야 하나요?

선택할 필요가 없습니다. 둘 다 사용할 수 있습니다. Kotlin이 적합한지 판단하는 데 도움이 필요하다면 Android에서 사용해 보거나, 이러한 Kotlin 리소스를 통해 Kotlin 언어에 관해 자세히 알아보세요.

Kotlin에서 Android 또는 다른 자바 언어 라이브러리 API를 호출할 수 있나요?

예. Kotlin은 자바 언어 상호운용성을 제공합니다. 이 상호운용성은 Kotlin 코드가 자바 언어 메서드를 투명하게 호출할 수 있게 하고, Kotlin 전용 기능을 자바 코드에 쉽게 노출시키는 주석과 결합되도록 설계되었습니다. Kotlin 전용 의미 체계를 사용하지 않는 Kotlin 파일은 아무 주석 없이 자바 코드에서 직접 참조될 수 있습니다. 결합을 통해 자바 코드와 Kotlin 코드를 세밀하게 혼합할 수 있습니다. 자세한 내용은 Kotlin의 상호운용성 문서를 참조하세요.

Android API용 Kotlin 참조 문서가 있나요?

예. Google에서는 모든 Android API 문서에서 직관적인 Kotlin 참고를 제공하고자 노력하고 있습니다. Android 참고 개요 페이지에서 사용 가능한 Kotlin 참고 문서 링크를 찾을 수 있습니다. 핵심 Kotlin 언어 참고를 찾고 있다면 Kotlin 표준 라이브러리 참고를 살펴보시기 바랍니다.

같은 프로젝트에서 자바 파일과 Kotlin 파일을 모두 사용할 수 있나요?

예. Kotlin을 원하는 만큼 사용하고 Kotlin의 자바와 상호운용성을 참조하여 자바 코드와 혼합할 수 있습니다.

Kotlin을 C++와 함께 사용할 수 있나요?

예. JNI는 Kotlin에서 완전히 지원됩니다. JNI 메서드를 외부 제어자로 표시하면 됩니다.

새 프로젝트에 Kotlin을 추가하려면 어떻게 해야 하나요?

새 프로젝트를 만들 때 Kotlin은 이제 Android 스튜디오에서 기본 언어로 선택됩니다. 자세한 내용은 프로젝트 만들기를 참조하세요.

기존 프로젝트에 Kotlin을 추가하려면 어떻게 해야 하나요?

Project 창에서 모듈을 선택한 다음 File > New를 선택합니다. Android 템플릿을 선택한 후 Source languageKotlin을 선택합니다. 자세한 내용은 기존 앱에 Kotlin 추가를 참고하세요.

자바 언어 코드를 Kotlin으로 변환하려면 어떻게 해야 하나요?

자바 파일을 열고 Code > Convert Java File to Kotlin File을 선택합니다. 또는 새로운 Kotlin 파일을 만들고(File > New > Kotlin File/Class) 만들어진 파일에 자바 코드를 붙여넣습니다. 메시지가 표시되면 Yes를 클릭하여 코드를 Kotlin으로 변환합니다.

자바와 마찬가지로 Kotlin 관련 문서, 샘플, Codelab, 템플릿이 있나요?

Google에서는 자바와 Kotlin 언어 사용자 모두 유용하게 사용할 수 있는 문서와 교육 자료를 만들기 위해 노력하고 있습니다. 그 동안 개발자는 Kotlin의 자바 언어와의 뛰어난 상호운용성과, Android 스튜디오에서 자동으로 자바 언어 코드를 Kotlin으로 번역하는 기능을 활용할 수 있습니다.

Kotlin 코루틴이 Android에서 작동하나요? async/await은 어떤가요?

Kotlin 코루틴은 Kotlin 버전 1.3부터 안정되어 Android에서 정상적으로 작동합니다. Android에서 코루틴을 사용하는 방법에 관한 자세한 내용은 Kotlin 코루틴으로 앱 성능 향상을 참고하세요.

Kotlin을 사용하면 성능에 영향이 있나요?

Kotlin은 성능에 직접적인 영향을 주지 않지만, 자바 언어와 마찬가지로 신중하게 사용해야 합니다. 예를 들어, 새 컬렉션 인스턴스 간에 복사를 반복하면 GC 성능에 영향을 줄 수 있으며, null이 아닌 유형을 받는 메서드를 호출하면 null 검사를 위한 메서드 호출이 추가됩니다(-Xno-param-assertions를 사용하여 컴파일러에서 런타임 null 검사를 중지할 수 있음).

Kotlin은 어떤 Android 버전을 지원하나요?

모든 버전을 지원합니다. Kotlin은 JDK 6과 호환되므로 Kotlin을 사용한 앱은 이전 Android 버전에서 안전하게 실행됩니다.

Kotlin 사용에 관해 자세히 알아보려면 어떻게 해야 하나요?

Kotlin을 시작하기 위한 추가 리소스를 확인합니다.