Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

Android용 Kotlin FAQ

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

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

 

이미 Kotlin 언어를 사용하고 있는 개발자에게 영향을 줄 변경사항으로는 무엇이 있나요?

단기 변경사항 중 가장 두드러지는 것은 Android 스튜디오 3.0 이상에 Kotlin을 위한 완전히 테스트된 지원 기능이 있다는 것입니다. 이를 통해 훨씬 쉽고 안정적인 개발 환경이 제공될 것입니다.

 

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

Kotlin은 Android 스튜디오 3.0 이상에서 완전하게 지원됩니다. 이전에 Kotlin을 사용하려면 Kotlin 플러그인을 추가해야 했지만, Android 스튜디오의 새 버전은 이러한 도구가 모두 내장된 상태로 제공됩니다. 따라서 추가 조치를 취하지 않아도 Kotlin 파일로 새 프로젝트를 만들고, 자바 언어 코드를 Kotlin으로 변환하고, Kotlin 코드를 디버깅하는 등의 작업을 할 수 있습니다. Kotlin 시작하기를 참조하세요.

 

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

자바 코드를 디버깅할 때와 마찬가지로 Kotlin을 디버깅하면 됩니다. 다르게 취해야 할 조치는 없습니다.

 

Kotlin에 그 외 어떤 유형의 IDE 지원(예: 린트, 자동 완성, 리팩터링 등)이 제공되나요?

Android 스튜디오 3.0부터 IDE에는 Kotlin 사용을 위한 도구가 완전히 지원됩니다. 그렇지만 몇 가지 알려진 문제와 제한이 있으며 현재 Google에서 이를 해결하기 위해 노력하고 있습니다.

 

Kotlin의 미래는 어떤가요?

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

 

Kotlin은 오픈소스인가요?

Kotlin의 기본 라이선스는 Apache 소프트웨어 라이선스, 버전 2.0 ('Apache 2.0')이고 대부분의 Kotlin 소프트웨어는 Apache 2.0에 따라 라이선스가 부여됩니다. 본 프로젝트를 진행하면서 기본 라이선스를 준수하기 위해 노력하겠지만, 예외로 처리되는 사례가 있을 수 있습니다. 예를 들어 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 템플릿을 선택한 후 KotlinSource language로 선택합니다. 자세한 내용은 기존 앱에 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 리소스를 확인하세요.