【ことりん】

Kotlin とは?

最終更新:
💡 nullの扱いを型で区別できる、Androidでも使われる言語

JetBrainsが開発したプログラミング言語。JVMでJavaと組み合わせて使えるほか、JavaScriptやネイティブ向けなどにも対応する。nullを許す型と許さない型を区別し、Android開発でも推奨されている。

📌 このページのポイント
nullを許す型と、許さない型Stringnullを許さないString?nullを許す中身の利用時に確認!!やJavaとの連携などでNPEは起きうる型の検査 ≠ すべてのバグを防ぐ保証
文字列の型を比較した概念図。紙のアイコンは扱う値、青はnullを許さない型、橙はnullを許して確認が必要な型です。自動変換や処理順を意味する矢印はありません。
ひよこ ひよこ
KotlinはJavaの代わりになるAndroid専用言語?
ペンギン先生 ペンギン先生
Android専用ではないよ。JVMではJavaのコードやライブラリと組み合わせて使え、JavaScriptやネイティブ向けにも対応する。GoogleはAndroidアプリを新しく作る場合にKotlinを勧めているけれど、JavaのAPIサポートも続けているんだ
ひよこ ひよこ
Null安全ってどういうこと?
ペンギン先生 ペンギン先生
例えばStringはnullを許さず、String?は許す型だよ。nullかもしれない値から中身を使うときに、確認や安全な呼び出しなどを求める。よくあるnullの参照ミスを、コードを実行する前に見つけやすくする仕組みなんだ
ひよこ ひよこ
NullPointerExceptionは絶対に起きない?
ペンギン先生 ペンギン先生
起きる場合はあるよ。例えば!!で「nullではない」と強制した値が実際はnullだった場合や、Javaとの連携でnullを受け取る場合などだね。型による検査は役立つけれど、すべての実行時エラーやバグを防ぐ保証ではないんだ
ひよこ ひよこ
コルーチンは自動で別のスレッドを作るの?
ペンギン先生 ペンギン先生
そうとは限らないよ。コルーチンは処理を中断し、後から再開する仕組みを使える。どのスレッドで動くかは実行環境やディスパッチャーなどによるんだ。suspendを付けるだけで、重い計算が自動的に並列になるわけではないよ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Kotlin」って出てきたら「nullの扱いを型で区別し、Androidなどで使われる言語」と思えればだいたいOK!
📖 おまけ:英語の意味
「Kotlin」 = コトリン島に由来する名前
💬 JetBrainsは、サンクトペテルブルク近郊にあるコトリン島から名前を取ったと説明しているよ

参考資料

← 用語集にもどる