はじめに
今回は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を使う中でなんとなく、けど当たり前に 使っていた便利な機能が詰まったものだったと調べてわかりました。
こうして改めて一つ一つを紐解いていくと、コードの理解度が上がっていくのを実感します。