¿Uso de @property y @synthesise?

Me preguntaba qué sentido tenían @property y @synthesise. En este momento utilizo lo siguiente para declarar algo:

//Class.m
#import "Class.h"

CCNode *node;

@implementation
//init, etc..

Pero he visto a otros usar:

@property (nonatomic, etc..) CCNode* node;
@synthesise (nonatomic, etc..) node;
//I am not too sure on how this type of declaration works, please correct me on how it's done.

Ambos parecen funcionar de la misma manera, ¿cuáles son las ventajas de @property y @synthesise way? ¿Hacen cosas diferentes, si es así, qué?

Respuestas a la pregunta(5)

Su respuesta a la pregunta