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++で書かれたネイティブコードによって提供されることが想定される。