Property is a fancy name for one or two methods with specific signatures for which Objective-C provides a convention that lets you call them using the alternative dot .
syntax. There is no difference between a protocol declaring, say, a pair of
-(int) foo;
-(void)setFoo:(int)_foo;
methods, and a protocol declaring a read-write property:
@property (readwrite) foo;
So you are absolutely right, implementing a property means implementing one or two methods, depending on whether you implement a read-only, write-only, or a read-write property.