Kotlinの言語仕様において、用法を規定するものとして、あらかじめ予約されている語。
結果として、変数名などに使う事ができない。
Kotlinは、Javaで書かれたプログラムを機械的に変換することも想定されている。Javaでは予約語ではないがKotlinでは予約語となるものの扱いが必要で、そのための標準的な方法として「バッククオートで囲む」という方法を用意している。
例えばJavaではinは予約語ではないがKotlinでは予約語だが、Kotlinでもバッククオートで囲めばそれは別の物として扱える。
val `in` = "Hogehoge"
変換時はこういった所でトラブルが起きやすい。
Kotlinの予約語は、次の4種類に分けられる。
- ハードキーワード ‐ このトークンは常にキーワードとして解釈されるため、識別子に使うことができない
- ソフトキーワード ‐ このトークンは適用可能な範囲が決まっており、その中ではキーワードとして解釈されるが、それ以外では識別子に使うことができる
- 修飾子のキーワード ‐ このトークンは宣言の修飾子リストにおいてキーワードとして機能するがが、それ以外のコンテクストでは識別子に使うことができる
- 特別な識別子 ‐ このトークンは特定のコンテクストでコンパイラーが定義するが、それ以外のコンテクストでは識別子に使うことができる
- actual
- abstract
- annotation
- companion
- const
- crossinline
- data
- enum
- expect
- external
- final
- infix
- inline
- inner
- internal
- lateinit
- noinline
- open
- operator
- out
- override
- private
- protected
- public
- reified
- sealed
- suspend
- tailrec
- vararg
予約語の扱いではないが、スコープ関数として次が定義されている。
用語の所属
予約語
関連する用語
Kotlin
スコープ関数 (Kotlin)