Kotlin externalキーワード
外部呼び出し(external)
Kotlinでexternalキーワードは、Kotlinコードで直接記述せず、他の言語で実装された関数やクラスを宣言するために使用される。一般的にKotlinはJVM上で実行されるため、externalキーワードは主にJavaと相互作用するために使用される。
externalキーワードは、関数やクラスの本体がKotlinコードに含まれず、外部から提供されることを示す。たとえば、KotlinからJavaのメソッドやクラスを呼び出したり、JavaコードからKotlinのメソッドやクラスを呼び出したりするときに、externalキーワードを使用できる。
externalキーワードは一般的に、ネイティブメソッドを宣言するとき、JNI(Java Native Interface)を通じてCやC++で書かれたコードを呼び出すとき、またはJavaScriptコードを呼び出すときに使用する。これにより、Kotlinコードから外部ネイティブコードにアクセスし、相互作用できる。
簡単な形は次のとおりである。
external fun foo (...) {...}
次は、Kotlinでexternalキーワードを使用してJNIと相互作用する簡単な例である。
external fun nativeMethod(): Int
fun main() {
val result = nativeMethod()
println("Result from native method: $result")
}
上のコードでnativeMethod()はKotlinコード内で直接実装されず、外部から提供される。このメソッドは、JNIを通じてCやC++で書かれたネイティブコードによって提供されることが想定される。