Null Syntax – Kotlin

Kotlin mengharuskan variable dideklarasikan dengan ? jikan variable tersebut bisa bernilai null:

Jika hal itu tidak dilakukan, maka tidak akan bisa dicompile, contoh lain yang akan menghasilkan error ketika di-compile:

Type checking and casting. Misal variable obj dengan type generik A, kemudian kita ingin menguji apakah obj juga merupakan instance type tertentu, maka … 

 

Control flow as expressions – Kotlin

Expression adalah statement atau pernyataan yang menghasilkan nilai. Contoh berikut adalah expression yang menghasilkan nilai true .

Statement juga tidak selalu menghasilkan nilai, misal expression yang mendeklarasikan nilai variable:

Di Java, blok control flow seperti if..else  dan try..catch  adalah sebuah statement yang tidak menghasilkan nilai. Maka jika ingin mendefinisikan nilai ke sebuah variable, variable … 

 

Visibility Modifiers – Kotlin

Biasanya tidak semua function atau class dibuat untuk public API. Oleh karena itu, perlu didefinisikan bahwa bagian dari code tidak bisa diakses dari luar class atau package, inilah yang disebut visibility modifier. Ada empat modifier yang bisa digunakan yaitu public, internal, protected dan private. Jika tidak disebutkan secara explicit maka default modifier adalah public. Artinya … 

 

“this” expression – Kotlin

Ketika sebuah class atau function ingin mengakses atau merujuk pada instance class/function itu sendiri, kita sering menggunakan keyword this .

Dalam terminologi Kotlin, reference this adalah instance object. Dalam class this  adalah instance dari class tersebut, dalam extension function, this  adalah instance dimana extension function tersebut diterapkan. Scope Dalam nested scope kita mungkin ingin merujuk pada … 

 

Referential Equality and Structural Equality – Kotlin

Kalau berbicara tentang equality atau kesamaan dalam pemrograman berborientasi objek ada 2 hala yang perlu diperhatikan. Pertama kesamaan instance dalam memory antara 2 referensi object, yang kedua kesamaan nilai antara 2 referensi object dengan instance di memori yang berbeda. Misal dua objek persegi bisa dikatakan sama kalau kita tahu panjang sisinya. Yang pertama disebut persamaan … 

 

Exception Handling – Kotlin

Exception handling hampir sama dengan Java, satu perbedaanya adalah semua Exception di Kotlin itu unchecked. Artinya exception tidak harus ditambahakan sebagai signature sebuah fungsi, misal NullPointerException  itu unchecked exception karena bisa muncul dimana saja. Sedangkan checked exception itu contohnya IOException  dimana exception ini dideklarasikan sebagai signature beberapa fungsi File. Karena Kotlin semua exceptionnya unchecked maka …