Summary
In this chapter, we looked at the concept of properties in Kotlin, compared them to fields in Java, and learned how to avoid bottlenecks when using companion objects. We inspected a lot of examples in Kotlin, generated bytecode, and Kotlin code decompiled to Java.
In the next chapter, we'll learn how to prevent unnecessary overhead using the delegated pattern.