FAQ

FAQ (FAQ)

코틀린에 대해 사람들이 가장 자주 묻는 질문들을 모아 답해 드릴게요. 하나씩 살펴보죠.

출처: FAQ

본문

코틀린이란 무엇인가요? (What is Kotlin?)

Kotlin은 오픈소스 정적 타입 프로그래밍 언어로, JVM, Android, JavaScript, Wasm, 그리고 Native를 대상으로 해요. JetBrains에서 개발했죠. 이 프로젝트는 2010년에 시작됐고 아주 초기부터 오픈소스로 공개됐어요. 첫 공식 1.0 릴리스는 2016년 2월에 나왔어요.

코틀린의 최신 버전은 무엇인가요? (What is the current version of Kotlin?)

현재 릴리스된 버전은 2026년 9월 7일에 발표된 2.4.20이에요. 더 자세한 정보는 GitHub에서 확인할 수 있어요.

코틀린은 무료인가요? (Is Kotlin free?)

네. Kotlin은 무료이고, 지금까지도 무료였으며, 앞으로도 계속 무료로 유지돼요. Apache 2.0 라이선스로 개발되고 있고, 소스 코드는 GitHub에서 볼 수 있어요.

코틀린은 객체지향 언어인가요, 함수형 언어인가요? (Is Kotlin an object-oriented language or a functional one?)

Kotlin은 객체지향과 함수형 구성 요소를 모두 갖추고 있어요. OO 스타일로 쓸 수도, FP 스타일로 쓸 수도, 둘을 섞어 쓸 수도 있죠. 고차 함수, 함수 타입, 람다 같은 기능을 일급(first-class)으로 지원하기 때문에, 함수형 프로그래밍을 하거나 탐구하는 데 Kotlin은 아주 좋은 선택이에요.

코틀린은 Java 프로그래밍 언어에 비해 어떤 장점이 있나요? (What advantages does Kotlin give me over the Java programming language?)

Kotlin은 더 간결해요. 대략적으로 코드 줄 수가 약 40% 줄어드는 것으로 추정돼요. 또한 더 타입에 안전한데, 예를 들어 non-nullable 타입을 지원해서 애플리케이션이 NPE에 덜 취약해져요. 스마트 캐스팅, 고차 함수, 확장 함수, 수신자 있는 람다 같은 다른 기능들 덕분에 표현력 있는 코드를 쓸 수 있고, DSL을 만드는 것도 쉬워져요.

코틀린은 Java 프로그래밍 언어와 호환되나요? (Is Kotlin compatible with the Java programming language?)

네. Kotlin은 Java 프로그래밍 언어와 100% 상호 운용이 가능하고, 기존 코드베이스가 Kotlin과 제대로 상호 작용할 수 있도록 하는 데 큰 중점을 두고 개발됐어요. Java에서 Kotlin 코드를 호출하거나 Kotlin에서 Java 코드를 호출하는 것을 쉽게 할 수 있죠. 덕분에 도입이 훨씬 쉽고 리스크도 낮아요. 또한 IDE에 내장된 자동 Java-to-Kotlin 변환기가 있어서 기존 코드를 이전하는 것도 간단해져요.

코틀린은 어떤 용도로 쓸 수 있나요? (What can I use Kotlin for?)

Kotlin은 백엔드, 클라이언트 사이드 웹, Android, 멀티플랫폼 라이브러리 등 어떤 종류의 개발에도 쓸 수 있어요. 현재 개발 중인 Kotlin/Native를 이용하면 임베디드 시스템, macOS, iOS 같은 다른 플랫폼도 지원하게 돼요. 여러 가능성 중에 사람들은 모바일 및 서버 사이드 애플리케이션, JavaScript나 JavaFX를 이용한 클라이언트 사이드, 데이터 과학에 Kotlin을 쓰고 있어요.

Android 개발에 코틀린을 쓸 수 있나요? (Can I use Kotlin for Android development?)

네. Kotlin은 Android에서 일급(first-class) 언어로 지원돼요. Basecamp, Pinterest 등 이미 수백 개의 애플리케이션이 Android용으로 Kotlin을 사용하고 있어요. 더 자세한 내용은 Android 개발 관련 자료를 확인해 보세요.

백엔드 개발에 코틀린을 쓸 수 있나요? (Can I use Kotlin for backend development?)

네. Kotlin은 JVM과 100% 호환되므로 Spring Boot, vert.x, JSF 같은 기존의 어떤 프레임워크든 사용할 수 있어요. 그뿐 아니라 Ktor처럼 Kotlin으로 직접 작성된 프레임워크도 있어요. 더 자세한 내용은 백엔드 개발 개요를 확인해 보세요.

웹 개발에 코틀린을 쓸 수 있나요? (Can I use Kotlin for web development?)

네. 백엔드 웹 개발이라면 KtorSpring 같은 프레임워크와 잘 어울려서 서버 사이드 애플리케이션을 효율적으로 만들 수 있어요. 또한 클라이언트 사이드 웹 개발에는 Kotlin/Wasm을 사용할 수 있어요. Kotlin/Wasm 시작하기에서 방법을 배울 수 있어요.

데스크톱 개발에 코틀린을 쓸 수 있나요? (Can I use Kotlin for desktop development?)

네. JavaFx, Swing 등 어떤 Java UI 프레임워크든 사용할 수 있어요. 그뿐 아니라 TornadoFX처럼 Kotlin 전용 프레임워크도 있어요.

네이티브 개발에 코틀린을 쓸 수 있나요? (Can I use Kotlin for native development?)

네. Kotlin/Native는 Kotlin의 일부로 제공되며, Kotlin을 VM 없이 실행할 수 있는 네이티브 코드로 컴파일해요. 널리 쓰이는 데스크톱과 모바일 플랫폼, 심지어 일부 IoT 기기에서도 시도해 볼 수 있어요. 더 자세한 내용은 Kotlin/Native 문서를 확인해 보세요.

어떤 IDE가 코틀린을 지원하나요? (What IDEs support Kotlin?)

Kotlin은 JetBrains가 개발한 공식 Kotlin 플러그인과 함께 IntelliJ IDEAAndroid Studio에서 설치 즉시 완벽하게 지원돼요. 또한 Kotlin Language Server로 구동되는 공식 Visual Studio Code용 Kotlin by JetBrains 확장을 설치할 수 있는데, 현재 Alpha 단계예요.

그 외 IDE와 코드 에디터는 커뮤니티가 지원하는 플러그인만 있어요.

브라우저에서 Kotlin 코드를 작성·실행·공유할 수 있는 Kotlin Playground도 시도해 볼 수 있어요. 또한 커맨드 라인 컴파일러도 제공되어 애플리케이션을 컴파일하고 실행하는 데 간단하게 사용할 수 있어요.

어떤 빌드 도구가 코틀린을 지원하나요? (What build tools support Kotlin?)

JVM 쪽에서 주요 빌드 도구로는 GradleMaven이 있어요. 클라이언트 사이드 JavaScript를 대상으로 하는 빌드 도구도 몇 가지 있어요.

코틀린은 무엇으로 컴파일되나요? (What does Kotlin compile down to?)

JVM을 대상으로 할 때 Kotlin은 Java 호환 바이트코드를 생성해요.

JavaScript를 대상으로 할 때 Kotlin은 ES5.1로 트랜스파일되고, AMD와 CommonJS를 포함한 모듈 시스템과 호환되는 코드를 생성해요.

네이티브를 대상으로 할 때 Kotlin은 (LLVM을 통해) 플랫폼별 코드를 생성해요.

코틀린이 대상으로 하는 JVM 버전은 무엇인가요? (Which versions of JVM does Kotlin target?)

Kotlin은 실행에 사용할 JVM 버전을 선택할 수 있게 해줘요. 기본적으로 Kotlin/JVM 컴파일러는 Java 8 호환 바이트코드를 생성해요. 더 새로운 Java 버전의 최적화를 활용하고 싶다면 대상 Java 버전을 9부터 26까지 명시적으로 지정할 수 있어요. 이 경우 결과 바이트코드가 더 낮은 버전에서는 실행되지 않을 수 있다는 점을 기억하세요. Kotlin 1.5부터 컴파일러는 Java 8보다 낮은 버전과 호환되는 바이트코드를 생성하는 것을 지원하지 않아요.

코틀린은 어렵나요? (Is Kotlin hard?)

Kotlin은 Java, C#, JavaScript, Scala, Groovy 같은 기존 언어에서 영감을 받았어요. 우리는 Kotlin을 배우기 쉽게 만들려고 노력했어요. 그래서 며칠 안에 Kotlin을 읽고 쓸 수 있게 적응할 수 있죠. 관용적인 Kotlin(idiomatic Kotlin)을 배우고 더 고급 기능을 사용하는 것에는 조금 더 시간이 걸릴 수 있지만, 전반적으로 복잡한 언어는 아니에요. 더 자세한 내용은 학습 자료를 확인해 보세요.

어떤 회사들이 코틀린을 사용하나요? (What companies are using Kotlin?)

Kotlin을 사용하는 회사는 너무 많아서 전부 나열할 수 없지만, Square, Pinterest, Basecamp처럼 블로그 글이나 GitHub 리포지토리, 발표를 통해 Kotlin 사용을 공개적으로 밝힌 회사들이 있어요.

코틀린을 개발하는 곳은 어디인가요? (Who develops Kotlin?)

Kotlin은 JetBrains(현재 팀 규모 100명 이상)의 엔지니어 팀이 개발해요. 언어 수석 설계자는 Michail Zarečenskij예요. 핵심 팀 외에도 GitHub에 250명이 넘는 외부 기여자가 있어요.

코틀린을 더 자세히 배우려면 어디를 봐야 하나요? (Where can I learn more about Kotlin?)

시작하기 가장 좋은 곳은 우리 웹사이트예요. Kotlin을 시작하려면 공식 IDE 중 하나를 설치하거나 온라인으로 시도해 볼 수 있어요.

코틀린에 관한 책이 있나요? (Are there any books on Kotlin?)

Kotlin에 관한 책은 여러 권 있어요. 그중 우리가 검토해서 추천할 만한 책들을 Books 페이지에 정리해 두었어요. 더 많은 책을 원한다면 kotlin.link의 커뮤니티 관리 목록을 확인해 보세요.

코틀린 온라인 강좌가 있나요? (Are any online courses available for Kotlin?)

JetBrains Academy의 Kotlin Core 트랙에서 실제로 동작하는 애플리케이션을 만들면서 Kotlin의 필수 요소를 모두 배울 수 있어요.

들어볼 만한 다른 강좌도 몇 가지 있어요:

또한 우리 YouTube 채널에서 다른 튜토리얼과 콘텐츠도 확인할 수 있어요.

코틀린에는 커뮤니티가 있나요? (Does Kotlin have a community?)

네! Kotlin에는 아주 활기찬 커뮤니티가 있어요. Kotlin 개발자들은 Kotlin 포럼, StackOverflow, 그리고 더 활발하게는 Kotlin Slack(2020년 4월 기준 약 3만 명)에서 활동하고 있어요.

코틀린 이벤트가 있나요? (Are there Kotlin events?)

네! 이제 Kotlin에만 집중하는 사용자 그룹과 미트업이 아주 많아요. 웹사이트에서 목록을 찾을 수 있고, 전 세계에서 커뮤니티가 주최하는 Kotlin Nights 행사도 있어요.

코틀린 컨퍼런스가 있나요? (Is there a Kotlin conference?)

네! KotlinConf는 JetBrains가 주최하는 연례 컨퍼런스로, 전 세계의 개발자와 마니아, 전문가들이 모여 Kotlin에 대한 지식과 경험을 나누는 자리예요.

기술 발표와 워크숍 외에도 KotlinConf는 네트워킹 기회, 커뮤니티 교류, 참가자들이 다른 Kotlin 사용자들과 인연을 맺고 아이디어를 나눌 수 있는 사회적 행사를 제공해요. Kotlin 생태계 내에서 협업과 커뮤니티 구축을 촉진하는 플랫폼 역할을 하죠.

Kotlin은 전 세계 여러 컨퍼런스에서도 다뤄지고 있어요. 웹사이트에서 예정된 발표 목록을 확인할 수 있어요.

코틀린은 소셜 미디어에서 활동하나요? (Is Kotlin on social media?)

네. Kotlin YouTube 채널을 구독하고 TwitterBluesky에서 Kotlin을 팔로우하세요.

다른 온라인 코틀린 자료가 있나요? (Any other online Kotlin resources?)

웹사이트에는 온라인 자료가 많이 있어요. 커뮤니티 멤버들이 만든 Kotlin Digests, 뉴스레터, 팟캐스트 등을 포함하죠.

로고는 여기에서 다운로드할 수 있어요. 로고를 사용할 때는 압축 파일 안의 guidelines.pdfKotlin 브랜드 사용 가이드라인에 적힌 간단한 규칙을 지켜 주세요.

더 자세한 내용은 Kotlin 브랜드 자산 페이지를 확인해 보세요.