@property, @synthesize ; what is

@property

can declare getter/setter

property equiv to
@property getter/setter|yes
@property(readwrite) getter/setter (same as above)
@property(readonly) getter|yes

@synthesize

can cut out getter/setter logic if set @property in interface

how initialize

(@property(readonly) 's is in another article ... (editing))

(in iOS App develop)

XYZViewController.h

#import <UIKit/UIKit.h>

@interface XYZViewController : UIViewController
@property(atomic, retain) NSString *set_get_str;
@property(readwrite, atomic, retain) NSString *set_get_str_another;
@end

XYZController.h

#import "XYZViewController.h"

@interface XYZViewController ()
@end

@implementation XYZViewController
@synthesize read_str;
@synthesize set_get_str;

- (void)viewDidLoad {
  [super viewDidLoad];
  [self init];
}

- (id) init {
  self = [super init];
  if(self) {
    self.set_get_str         = @"setter/getter";
    self.set_get_str_another = @"setter/getter another";
  }
  return self;
}