[objective-c] 변수 선언
본문
[objective-c] 변수 선언
@property 선언과, m 파일에서 NSString *strUrl로 선언 차이
property 는 그 클래스의 인스턴스를 가지고 있을 때 외부에서 접근을 할 수가 있다.
예를 들면 view.backgroundColor 와 같은 형태.
property가 아니라면 backgroundColor 라는 함수와 setBackgroundColor: 라는 함수를 각기 만들고,
사용하실 때도 항상 [view backgroundColor] 또는 [view setBackgroundColor:[UIColor redColor]] 같은 형태로 써야 한다.
하지만 property 라면 view.backgroundColor 또는 view.backgroundColor = [UIColor redColor] 처럼 쓸 수도 있다.
프로퍼티로 선언하면 getter와 setter가 자동으로 만들어지고
자동으로 만들어지는 언더바가 붙는 변수는 캡슐화 하여 사용하겠다는 말이다.
프로퍼티로 선언할 때 붙는 각종 attributes로 프로퍼티의 속성을 결정 한다.
==================================================================================
클래스 내부에서 선언한 내부 변수를 써도 상관없습니다만,
Property로 선언한 변수는 좀 다른 의미가 있습니다.
지금은 ARC 환경이라서 메모리 관리를 하려고 일부러 사용하지는 않지만,
- 클래스 전역에서 사용하려는 경우
- 외부 액세서로 제공하는 경우
- Getter/Setter가 필요한 경우
- Key Value Coding으로 사용하려는 경우
- Lazy Loading을 구현하려는 경우
등등의 이유가 생각납니다.
이런 경우 에는 한번쯤 고민할 필요가 있을 것 같습니다.
복잡한 내용은 다 빼고,
가장 중요한 것은 아무래도,
목적에 맞게 적합한걸 쓰면 되겠다.
댓글목록 0