現在Webエンジニアとして受託企業で働いているものです。
この度、転職を機にAndroidアプリエンジニアへキャリアチェンジをすることになったため、備忘録としてKotlinの学習記録を残すために投稿しています。
この記事ではKotlinとはどのような言語なのかということについてまとめています。
Kotlinとは何か?
JetBrains社によって開発されたモダンなプログラミング言語。
2017年にGoogleからAndroid開発の公式言語として採用されており、Android開発において非常に人気が高い言語になっている。
また、マルチプラットフォームをサポートしており、JVM, Android, JavaScript, ネイティブ向けのコードをコンパイルすることができる。そのため、1つのコードベースから複数のプラットフォームに対応したアプリケーションを構築することができる。
Kotlinの持つ特徴
静的型付け言語
- コンパイル時に型がチェックされるため、型安全性が高く、実行時のエラーリスクが減少し、信頼性の高いコードを書くことができる
- 型推論により、型を省略することも可能だが明示的に指定することで可読性が向上する
Javaとの完全互換性
- KotlinはJVM(Java仮想マシン)上で動作するため、Javaと互換性がある。KotlinとJavaのコードは同じプロジェクト内に混在することができ、Javaライブラリもそのまま使用できる
- Javaに比べ、同じタスクを実現するコード量が少なくなる。冗長なコードを避け、より直感的で分かりやすい構文を持っている
NULL安全
- nullによる例外(NullPointerException)を防ぐための仕組みが組み込まれているため、nullの存在を考慮した安全なコードを書くことができる
オブジェクト指向、関数型プログラミングのサポート
- Kotlinでは、オブジェクト指向プログラミングと関数型プログラミングの両方をサポートしている
- 高階関数やラムダ式など、関数型プログラミングの要素を取り入れることでコードの柔軟性が高まる
拡張関数
- 既存のクラスに対して新しいメソッドを追加することができる
- Javaのようにクラスを継承せずに、クラスを拡張してメソッドを追加することができるため、コードの再利用性が高まる
デフォルト引数と名前付き引数
- デフォルト引数と名前付き引数をサポートしており、関数の呼び出し時に引数を柔軟に指定できるため、関数のオーバーロードを減らしコードの簡潔さを保つことができる