Kotlinの基礎や使い方について

採用はこちら

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の基礎や使い方についてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次