propery - getter, setter의 선언을 대신할 수 있는 지시어
형식 : @propery(특성 나열) 변수 선언;
synthesize - getter 와 setter 의 구현을 대체
형식 : @synthesize 변수명;
프로퍼티 특성
@property(setter|getter = 메서드명) 자료형 변수명;
메서드를 직접 작성한 경우 연결할 때 사용
@property(readonly|readwrite) 자료형 변수명;
읽기 전용과 읽기와 쓰기 가능 프로퍼티 지정 - 기본은 readwrite
@property(assign|retain|copy) 자료형 변수명;
멤버변수가 객체인 경우 대입방법에 대한 지정 - 객체인 경우 필수
@property(nonatomic) 자료형 변수형;
멀티 스레드 환경에서 상호 배제 코드를 삽입할 것인지 여부
@synthesize 별명 = 원래이름;
변수를 별명으로 synthesize
1) atomic | nonatomic
atomic : 상호배제코드 포함
nonatomic : 상호배제코드 미포함, 속도가 향상됨, 아이폰SDK 에서는 대부분 이것만 사용
2) readonly | realwrite
readonly : getter만 있음. 값을 넣을 수 없음.
readwrite : getter 와 setter 둘 다 존재.
3) setter | getter = 메서드명
getter : 데이터 타입이 BOOL인 경우 is 삽입을 위하여 사용
4) assign | retain | copy
객체(참조형)인 경우 필수
5) @synthesize 별명 = 원래이름;
출처 링크 : https://mashroom.tistory.com/entry/Chap3-property%EC%99%80-synthesize