Las variables se dividen en dos grupos: editables y no editables.

Adicionalmente, también se ha incluido otro tipo de variable que se puede inicializar a posteriori de su creación.

Editables

Son variables capaces de cambiar su contenido, respetando siempre su tipo de dato original.

var nombre = "Juan"
nombre = "Antonio"

No editables

Son variables incapaces de cambiar su contenido.

val dni = "12345678A"

El último caso, se utiliza para valores conocidos antes de ejecutar el programa.

const val dni = "12345678A"

Sin inicializar

Son variables capaces de inicializarse después de declararse.

lateinit var ciudad
ciudad = "Bilbao"