foo.bar = baz 와 [foo setBar:baz] 의 차이점
오브젝티브씨에 관한 얘기다.
맥부기에서 질문이 올라와 댓글을 작성했는데 개념적으로 재밌기에 블로그로 복사해왔다.
아래는 댓글 내용이다.
질문 :
.xxx = yyy 와 setXxx:yyy 의 차이점이 뭔가요??
답변 : ``` setXxx:yyy를 쉽게 사용하도록 만든게 .xxx = yyy 입니다.
외부에서 클래스 내부 맴버에 접근이 불가능합니다.
함수를 사용하여서 접근하도록 되어있습니다.
프로퍼티를 선언할경우 속성에 따라 세터와 게터 함수가 자동으로 생성됩니다.(setXxx, getXxx)
.xxx = yyy는 세터를 쉽게 사용하라고 만든거죠.
만약 프로퍼티를 readyonly 로 설정할경우 세터는 생성이 안되어 .xxx == yyy는 사용이 불가능하게 됩니다. ```
구조체는 클래스와 다르게 직접 접근하는 방식이다. 같은 구문을 사용하지만 동작은 둘이 다르게 하는거다.
참고: Dot-notation Syntax - Big Nerd Ranch
Posted in Programming Life with :
Written on August 18, 2016