We touched upon properties briefly in Chapter 3, Object-Oriented Programming in Kotlin. In this chapter, we will take a detailed look at them. You will learn about the following topics in this chapter:
- General properties
- Visibility
- Lazy and late initialization
- Delegated properties
- When to use properties instead of methods
Furthermore, we will see how to use a Kotlin property from Java and we'll take a peek at the bytecode produced to learn what the compiler does. If you are familiar with C#, the information presented here will be familiar—after all, the concept of properties was brought in from the .NET world.