2013-03-31 2 views
1

init 메서드가 클래스 메서드가 아닌 이유는 무엇입니까? 내 말은 init의 메소드 본문이 -으로 시작한다는 의미입니다. -으로 시작하는 메소드는 내가 아는 한 인스턴스 메소드이지만, 분명히 인스턴스를 만들고 싶습니다.초기화가 클래스 메소드가 아닌 이유는 무엇입니까?

+0

'init'은 [factory method]가 아닙니다. (http://en.wikipedia.org/wiki/Factory_method_pattern) - [constructor]입니다. (http://en.wikipedia.org/wiki/Constructor_%28object -oriented_programming % 29)을 사용합니다. – Jay

답변

9

init에 해당하지 않습니다. 인스턴스를 만듭니다. 그게 alloc의 직업입니다 (그리고 alloc입니다).

init입니다. 생성 된 인스턴스는입니다. 새 인스턴스의 ivars에 액세스해야하며 이 인스턴스 메소드 여야합니다.

+0

그건 내 대답 ;-) – tuna

+0

[bikeshedding] (http://meta.stackexchange.com/questions/31253/the-bike-shed-problem-and-so)의 또 다른 할부입니다. 나는 upvotes가 실제로 노력에 비례했다 싶다. –

+0

그래서 더 많은 upvotes 또는 무엇을 의미합니까? – tuna

관련 문제