La aplicación se bloquea al intentar save el file con ObjectOutputStream

Actividad principal:

turma.alunos.add(Aluno("Weslley", "123")) turma.alunos.add(Aluno("Thiago", "1235")) turma.alunos.add(Aluno("Thayane", "1234")) turma.alunos.add(Aluno("Kelvin", "1253")) turma.alunos.add(Aluno("Carlos", "12253")) var arq = ArquivoUtils(turma, this.applicationContext) 

Clase responsable de manejar el file.

 class ArquivoUtils internal constructor( var turminha: Turma, var context : Context) { internal val fos = this.context.openFileOutput("turma.dat", Context.MODE_PRIVATE) internal val oos = ObjectOutputStream(fos) init { this.salvarArquivo() this.closeFile() } @Throws(IOException::class) private fun salvarArquivo() { oos.writeObject(turminha) } @Throws(IOException::class) fun closeFile() { oos.close() } 

Logcat:

  --------- beginning of crash 09-22 01:09:07.626 2601-2601/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.thial.estudandokotlin, PID: 2601 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.thial.estudandokotlin/com.example.thial.estudandokotlin.MainActivity}: java.io.NotSerializableException: com.example.thial.estudandokotlin.Aluno at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) at android.app.ActivityThread.-wrap12(ActivityThread.java) 

El error está exactamente en el método de save. Cuando no ejecuto ese método, la aplicación funciona normalmente.

¿Como puedó resolver esté problema?