정오표

Ⅴ쪽
Effective JavaScript -> Effective Objective-C 2.0

44쪽 밑에서 두 번째 문단 첫째 줄
빈 문자열로 설정할 수 있다. 인스턴스변수를 세터를 통해 ->
빈 문자열로 설정했을 수 있다. 만약 인스턴스 변수를 세터를 통해

142쪽 아홉째 줄
가변 클래스에서 가변 복사본을 반환하는 copywithZone을 재정의 해서는 안 된다. ->
가변 복사본을 반환하도록 가변 클래스의 copyWithZone:을 재정의해서는 안 된다.

142쪽 열여덟째 줄
동일한 효과를 내는 또 다른 방법은 copy, immutableCopy, mutableCopy 메서드가 모두 동일한 클래스를 반환하게 하는 것이다. copy는 항상 같은 클래스를 반환하지만 다른 두 메서드는 상황에 따라 다른 것을 반환한다. ->
이를 해결하는 또 다른 방법은 항상 원본 객체와 동일한 특성(가변 혹은 불변)의 객체를 반환하는 copy 메서드와 각각 이름에 해당하는 특성의 복사본을 반환하는 immutableCopy(불변)와 mutableCopy(가변)를 정의하는 것이다.

142쪽 마지막에서 두 번째 단락
그림 3.2 캡션으로 이동

143쪽 첫째 줄
복사를 하는 코드가 복잡해질 것이다. 그래서 안전하게 ->
복사를 할 때마다 내성으로 인스턴스의 정확한 클래스 타입을 알아낸 다음 복사를 해야 하기 때문에 코드가 복잡해진다. 그래서 결국엔 안전하게

142쪽 끝에서 셋째 줄
일반적으로 클래스를 새로 만들 때 시스템 프레임워크가 구현한 방식인 얕은 복사를 하는 copyWithZone:과 같은 방식으로 클래스의 복사 메서드를 작성하길 원할 것이다. ->
일반적으로, 여러분이 작성한 클래스가 시스템 프레임워크에서 사용되는 것과 동일한 패턴을 따르기를 원할 것이다(즉, 얕은 복사를 수행하는 copyWithZone:).