title: Is there a Kotlin equivalent to Swift deinit?
body: <p>Swift provides a deinit function for every object and I am wondering if Kotlin has an equivalent function</p>
  <p>Here is how it works in Swift (Apple Doc):</p>
  <blockquote>
  <p>A deinitializer is called immediately before a class instance is deallocated. You write deinitializers with the deinit keyword, similar to how intializers are written with the init keyword. Deinitializers are only available on class types.</p>
  <p>Typically you don’t need to perform manual clean-up when your instances are deallocated. However, when you are working with your own resources, you might need to perform some additional clean-up yourself. For example, if you create a custom class to open a file and write some data to it, you might need to close the file before the class instance is deallocated.</p>
  </blockquote>