LeoAndo / kotlin-training

kotlin language learning repository
Apache License 2.0
0 stars 0 forks source link

Kotlin 概要 #115

Open LeoAndo opened 2 years ago

LeoAndo commented 2 years ago

Kotlinは、Javaと相互運用するように設計されています。 Kotlinは他のプラットフォーム(iOS、WebAssembly、Kotlin / JSなど)をサポートしています。 KotlinはJVMのサポートしていてJavaバイトコードにコンパイルできるため、JVMが実行されている場所ならどこでも実行できます。

Javaと同じようにKotlinは静的型付け言語になります。

LeoAndo commented 2 years ago

JavaとKotlinの機能の違い

機能 Java Kotlin
ファイルのコンテンツ 1 つのファイルには、1 つの最上位クラスが含まれます 1つのファイルには、複数のクラス、変数や関数を含むことができる
変数 final を使用して変数を不変にします。 変数はデフォルトで変更可能です。 クラス レベルで定義されます valを使用して変数を不変にします。varで変更可能です。変数はクラスの外に独立して存在する可能性があります
型推論 Date date = new Date(); のように型指定しないといけない val date = Date() のように型指定を省略可能。型推論効く
BoxingとUnBoxing型 Integer / int Kotlinはprimitiveを扱わない。全てオブジェクトととして扱う。コンパイル後のbytecodeレベルでは自動的にunboxingされ intに変換される ※1
デフォルト アクセス修飾子 package デフォルトはpublicで、packageは言語仕様上存在しない。internalはモジュールスコープ

※1: bytecodeレベルでは自動的にInt型が unboxingされ intに変換される

スクリーンショット 2022-08-07 15 25 46 スクリーンショット 2022-08-07 15 26 04