Kotlin/Native 개요: 대상, 도구 모음 및 컴파일
사용 가능한 Kotlin/Native 대상을 이해하고 간단한 CLI 바이너리를 컴파일합니다.
Kotlin/Native 개요: 대상, 도구 모음 및 컴파일은(는) CoddyKit의 무료 Kotlin Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Kotlin Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Kotlin Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
Kotlin/Native란 무엇입니까
Kotlin/Native는 JVM이나 Dalvik 런타임 없이 LLVM을 통해 Kotlin 소스 코드를 네이티브 기계어로 직접 컴파일합니다. 그 결과 자체 포함 바이너리가 생성되므로 대상 머신에 JVM을 설치할 필요가 없습니다.
지원 대상
Kotlin/Native는 다양한 대상을 지원합니다:
- macOS / iOS:
macosX64,macosArm64,iosX64,iosArm64,iosSimulatorArm64 - Linux:
linuxX64,linuxArm64 - Windows:
mingwX64 - 임베디드 / watchOS / tvOS: 다양한 대상
컴파일 처리 흐름
Kotlin/Native의 컴파일 처리 흐름은 다음과 같습니다. Kotlin 소스 → Kotlin IR(중간 표현) → LLVM IR → 네이티브 바이너리. konanc 컴파일러가 이 과정을 주도하지만, 실제로는 항상 Kotlin 멀티플랫폼 Gradle 플러그인을 사용합니다.
Gradle에서 네이티브 대상 설정하기
Kotlin 멀티플랫폼 프로젝트에서는 build.gradle.kts에 네이티브 대상을 선언하십시오:
kotlin {
macosArm64("macos") {
binaries {
executable { entryPoint = "main" }
}
}
linuxX64("linux") {
binaries { executable { entryPoint = "main" } }
}
}네이티브 대상의 소스 세트
네이티브 대상은 다른 플랫폼과 commonMain/commonTest를 공유합니다. 대상별 코드는 macosMain 또는 linuxX64Main과 같은 소스 세트에 둡니다. 플랫폼별 API에는 expect/actual을 사용하십시오.
출력 바이너리 유형
Kotlin/Native는 여러 바이너리 유형을 생성할 수 있습니다:
executable— 독립 실행형 명령줄 프로그램staticLib— C/C++ 프로젝트에 연결하기 위한 정적 라이브러리sharedLib— 동적(.dylib / .so / .dll) 라이브러리framework— iOS/macOS 통합을 위한 Apple 프레임워크
네이티브 테스트 실행하기
./gradlew macosArm64Test 또는 해당 대상의 관련 작업으로 네이티브 테스트를 실행하십시오. 테스트는 네이티브 바이너리로 컴파일되어 호스트 머신에서 실행되며 JVM은 사용되지 않습니다.
교차 컴파일의 제한 사항
Kotlin/Native의 교차 컴파일에는 제한이 있습니다. Apple 대상은 macOS에서만 컴파일할 수 있으며 Xcode가 필요합니다. Linux와 Windows 대상은 지원되는 모든 호스트에서 컴파일할 수 있습니다. CI 처리 흐름에서는 일반적으로 Apple 대상에 macOS 에이전트를 사용합니다.
klib 형식
Kotlin/Native 라이브러리는 Kotlin의 플랫폼 독립적 라이브러리 형식인 .klib 파일로 배포됩니다. 의존성은 .klib로 해석되고 컴파일 시 최종 바이너리에 연결됩니다.
KMP iOS 앱에서의 Kotlin/Native
일반적인 Kotlin 멀티플랫폼 모바일(KMM) 프로젝트에서는 공유 코드가 Xcode가 iOS 앱에 연결하는 Apple 프레임워크로 컴파일됩니다. Swift/Objective-C 코드는 생성된 헤더를 통해 Kotlin API를 호출합니다.
성능 특성
네이티브 바이너리는 JVM 시작 과정이 없어 즉시 시작되고 메모리 사용량이 더 작으며, 명령줄 도구, 서버 측 Linux 애플리케이션, iOS/macOS 공유 로직에 적합합니다. 장시간 실행되는 JVM 애플리케이션은 JIT 최적화로 인해 네이티브보다 성능이 좋을 수 있지만, 많은 사용 사례에서는 시작 시간과 메모리 측면의 이점 때문에 네이티브가 유리합니다.
빠른 확인
Kotlin/Native에서 iOS Xcode 프로젝트에 사용할 Apple 프레임워크를 생성하는 Gradle 바이너리 유형은 무엇입니까?
정리: Kotlin/Native 개요
핵심 요점:
- Kotlin/Native는 LLVM을 통해 네이티브 기계어로 컴파일되므로 JVM이 필요하지 않습니다
- macOS, iOS, Linux, Windows, watchOS, tvOS 대상을 지원합니다
- KMP Gradle 플러그인에서 대상과 바이너리 유형을 구성합니다
- Apple 대상에는 macOS와 Xcode가 필요하며 교차 컴파일에는 플랫폼 제한이 있습니다
- 라이브러리는
.klib로 배포되고 iOS 통합에는framework바이너리를 사용합니다
AI 튜터와 함께 Kotlin을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 51
- 레슨
- 203
자주 묻는 질문
“Kotlin/Native 개요: 대상, 도구 모음 및 컴파일” 강의는 무료인가요?
네 — “Kotlin/Native 개요: 대상, 도구 모음 및 컴파일” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Kotlin Academy 강의 전체를 잠금 해제할 수 있습니다. Kotlin Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“Kotlin/Native 개요: 대상, 도구 모음 및 컴파일”에서 뭘 배우나요?
사용 가능한 Kotlin/Native 대상을 이해하고 간단한 CLI 바이너리를 컴파일합니다. 브라우저에서 직접 실행하는 실습 코드로 Kotlin Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Kotlin Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Kotlin Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“Kotlin/Native 개요: 대상, 도구 모음 및 컴파일” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Kotlin Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Kotlin Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- Kotlin/Native 개요: 대상, 도구 모음 및 컴파일
- Kotlin/Native의 메모리 관리: 새로운 MM
- cinterop 및 .def 파일을 사용한 C 상호 운용
- Kotlin/WASM: 브라우저용 WebAssembly 컴파일