The property is mainly used when other objects need to modify or access ivars in your object. Without manually defining getters and setters or using @property, other objects cannot see or modify ivars. Properties are also often used for convenient memory management, which helps prevent memory leaks.
source share