1
1

More than 1 year has passed since last update.

【kotlin】Anyクラスについて

Posted at

はじめに

今回はkotlinで使われる全てのクラスの親クラスにあたる ”Anyクラス”についてまとめていきます。

Anyクラスとは

まず、Anyクラスについてですが、前述したように Anyクラスは全てのクラスの親クラスです。
実際のコードでは省略されている為 目にする事は少ないです。
ですが、どのクラスでも 継承元を辿っていくと最後に辿り着くのは必ずAnyクラスです。
なので、何度も記載する通り 全てのクラスの親クラス ということになります。

Anyクラスの中身

Anyクラスでは何をしているのか 見ていきましょう
実際のコードがこちらです

public open class Any {
〜コメント省略〜

    public open operator fun equals(other: Any?): Boolean
〜コメント省略〜

    public open fun hashCode(): Int
〜コメント省略〜

    public open fun toString(): String
〜コメント省略〜
}

Anyクラスではこの3つの関数があります
kotlinで作られた全てのクラスで自動的にAnyクラスが継承されているので、この3つの関数を使うことができます。
それぞれ見ていきましょう。

equals

比較のための関数で、演算子の「==」を使い比較する際などに暗黙的に呼ばれている関数になります。
比較した結果を true もしくは、false で返します。

hashCode

オブジェクトのハッシュコードを生成してそれを Int つまり数字で返します。

toString

すべて文字列化するための関数で オブジェクトを文字列に変換します

終わりに

Anyクラスはkotlinを使う中でなんとなく、けど当たり前に 使っていた便利な機能が詰まったものだったと調べてわかりました。
こうして改めて一つ一つを紐解いていくと、コードの理解度が上がっていくのを実感します。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1