Kotlin は、近年急速に利用が広がっているモダンなプログラミング言語です。
Android 開発の推奨言語になって以降、学ぶ価値はさらに高まりました。
この記事では、Kotlin の特徴・基本文法・よく使う構文をまとめて紹介します。
はじめて Kotlin に触れる方でもスムーズに理解できるよう、サンプルコードを交えながら解説していきます。
Kotlinとは?
Kotlin は JetBrains が開発した、静的型付きかつ記述量の少ない近代的なプログラミング言語です。
Java との高い互換性を持ちつつ、「短く・安全で・読みやすい」コードを書ける点が特徴です。
特に以下の点がよく評価されています。
- コードが短くなる
冗長な記述が減り、シンプルで読みやすいコードが書けます。 - Null安全
Kotlin の型システムにより、NullPointerException のリスクを大幅に減らせます。 - 関数型プログラミングをサポート
map や filter といった便利な操作が自然に使えます。 - Java と完全互換
既存の Java コードと混在させて利用可能です。 - Multiplatform に対応
共通ロジックを複数プラットフォームで共有できます。
変数宣言(val と var)
Kotlin では、変数の再代入ができるかどうかを明確にします。
val name = "Taro" // 再代入不可(immutable)
var age = 20 // 再代入可能(mutable)
基本的には val を優先し、必要なときだけ var を使う書き方が推奨されています。
型推論と基本型
Kotlin は静的型付きですが、型推論が非常に優秀です。
val score: Int = 90
val score2 = 90 // 型が自動で Int と推論される
型を省略できるため、コードがスッキリします。
関数の書き方
Kotlin の関数定義はとてもシンプルです。
fun greet(name: String): String {
return "Hello, $name"
}
一行で書ける場合は次のように簡略化できます。
fun greet(name: String) = "Hello, $name"
条件分岐:if / when
if 文(式として使える)
val type = if (age >= 20) "Adult" else "Child"
if が「式」として値を返すのが特徴です。
when 文(switch より強力)
when (score) {
100 -> println("Perfect!")
in 80..99 -> println("Great!")
else -> println("Keep trying!")
}
柔軟で読みやすい条件分岐が書けます。
コレクション操作(map / filter が便利)
List
val items = listOf("Apple", "Banana")
val mutable = mutableListOf("A", "B")
mutable.add("C")
高階関数による操作
val numbers = listOf(1, 2, 3, 4)
val doubled = numbers.map { it * 2 }
val evens = numbers.filter { it % 2 == 0 }
シンプルで読みやすい処理が書けるのが Kotlin の魅力です。
クラスとデータクラス
通常のクラス
class Person(val name: String, var age: Int)
データクラス
データ保持用のクラスには data class が最適です。
data class User(val id: Int, val name: String)
自動で以下が生成されます。
toString()equals() / hashCode()copy()- componentN()(分解宣言に使用)
例
val user = User(1, "Taro")
val (id, name) = user
Null安全(Kotlin の重要ポイント)
Kotlin の特徴で特に重要なのが null 安全です。
var name: String? = null // null を許可する型
安全呼び出し
println(name?.length)
Elvis 演算子
val length = name?.length ?: 0
※ NullPointerException を完全に防げるわけではありませんが、発生可能性を大幅に減らせます。
拡張関数
既存クラスにメソッドを追加できます。
fun String.addHello(): String {
return "Hello, $this"
}
println("Taro".addHello())
Kotlin らしい柔軟な記述が可能です。
ラムダ式と関数型スタイル
val greet: (String) -> String = { name -> "Hello, $name" }
関数を値として扱えるため、コレクション操作やコールバックでよく使われます。
Android での Kotlin の利用例(簡単な概要)
Android の Activity での基本コード例です。
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val button = findViewById<Button>(R.id.button)
button.setOnClickListener {
println("Button clicked!")
}
}
}
また、Jetpack Compose を使うと次のように UI を定義できます。
@Composable
fun Greeting(name: String) {
Text(text = "Hello $name")
}
まとめ
Kotlin は以下の特徴を持つ、学びやすく扱いやすい言語です。
- 記述量が少なく読みやすい
- null 安全によりエラーを減らせる
- 関数型の考え方が自然に使える
- Java と互換性が高く、Android 開発に最適
これらを理解するだけでも、Kotlin のメリットをしっかり体感できます。
以上、Kotlinの基礎や使い方についてでした。
最後までお読みいただき、ありがとうございました。



