Kotlin
JVM 上で動くモダン言語。Android 開発の公式推奨言語として広く使われる
Kotlin とは
Kotlin (コトリン) は、JetBrains が 2010 年に開発を始めたプログラミング言語だ。最初の正式版 1.0 は 2016 年 2 月に公開され、コンパイラを含む本体は Apache 2.0 ライセンスで配布されている。Java と同じ実行基盤 (JVM) 上で動き、Java と相互に呼び出せる互換性を持ちながら、より簡潔で安全な記述を実現する。Google が 2019 年の Google I/O で Android 開発を Kotlin 中心 (Kotlin-first) に進めると表明したことで、モバイル開発を軸に広く普及した。大きな節目となった 2.0 は 2024 年 5 月、2026 年 8 月時点の最新版は 2.4 系だ。
Java からの改善点
| 課題 (Java) | Kotlin の改善 |
|---|---|
| 冗長な記述 | 型推論と式指向の構文で宣言を短く書ける |
| null 関連のクラッシュ | null を許すかどうかを型に書き分け、コンパイル時に検査する |
| 定型コードの多さ | data class が equals / hashCode / toString / copy を自動生成する |
null 安全の要点は、型そのものが二種類に分かれることだ。String には null を代入できず、null を許すなら String? と書く。null 許容型のメンバーへ触るには安全呼び出し ?. かエルビス演算子 ?: を通すか、事前に null と比べて分岐する必要があるため、検査漏れが実行時のクラッシュではなくコンパイルエラーとして表に出る。
落とし穴: Java 由来の値では保証が切れる
この検査が効くのは Kotlin が nullability を知っている範囲だけだ。Java の宣言から来た型は「null かどうか不明」なプラットフォーム型として扱われ、null 許容型と同じ扱いにはならない。そのため Java のメソッドの戻り値をそのまま非 null 型の変数へ受ける記述はコンパイルを通り、実行時に値が null だった時点で NullPointerException になる。境界では受け取る型を String? と明示するか、Java 側に nullability アノテーションを付けて型情報を渡すのが対処になる。Kotlin を入れたのにヌルポインタ例外が消えないという相談は、たいていこの境界に集まる。
どこで使われるか
主戦場は Android アプリ開発だが、それだけではない。JVM 上のサーバーサイド開発 (JetBrains 製の Ktor など) や、複数プラットフォームでコードを共有する Kotlin Multiplatform にも用途が広がっている。Kotlin Multiplatform では共有する範囲を選べる点が実務上重要で、計算や検証ロジックだけを切り出す使い方から、UI まで共有する使い方までを同じ枠組みで扱える。UI 共有に使う Compose Multiplatform は、公式サイトの記述では Android・iOS・デスクトップ向けが安定版、Web 向けは Beta という状態だ (2026 年 8 月時点)。
採用時の注意点
Java との相互運用ができるため、既存の Java 資産を持つプロジェクトでも段階的に導入しやすい。一方で、標準ライブラリやビルドの作法は JVM のエコシステムに乗っているので、Java 側の知識は依然として土台になる。iOS も含めて両 OS へ展開するなら、Flutter のように UI ごと共通化する手段と、Kotlin Multiplatform でロジックだけ共有して UI は Swift でネイティブに書く手段のどちらを取るかが分岐点になる。画面の作り込みや OS 標準の挙動への追従を重く見るほど、後者が有利になりやすい。
既存の Java プロジェクトへ入れるなら、まず新規に書くクラスから Kotlin にし、Java 由来の値を受け取る場所の型注釈を固めていくのが安全な順序だ。全面書き換えから始めると、変換直後に前述のプラットフォーム型の境界が一気に増えて、原因の切り分けが難しくなる。
この記事は役に立ちましたか?
関連用語
関連する記事
ソフトウェア開発の歴史を変えた 5 冊の技術書
アルゴリズムの学問化からコードの可読性革命まで、ソフトウェア開発の方向性を決定づけた 5 冊の技術書を、時代背景とエピソードとともに紹介します。
副業エンジニアの武器になる 1 冊の見つけ方
副業で技術力を売るエンジニアが、限られた時間で最大のリターンを得るための選書戦略を解説します。本業との差別化に効く本の選び方。
エンジニアが最初に読むべき技術書 5 冊の選び方 - ジャンル配分が鍵
新人エンジニアやキャリアチェンジ組が最初に読むべき技術書のジャンル配分と、言語 / 設計 / 運用 / CS 基礎 / ソフトスキルの 5 冊を選ぶチェックリストを紹介。