본문 바로가기
[Effective Objective-C] #22 NSCopying 프로토콜을 이해하라. [Effective Objective-C] #22 NSCopying 프로토콜을 이해하라. 출처 : Effective Objective-C -오브젝티브-C 에서는 copy 메서드를 이용하여 객체를 복사할 수 있다.자신이 만든 클래스가 복사될 수 있게 하려면 메서드가 하나뿐인 NSCopying 프로토콜을 구현하면 된다.- (id)copyWithZone:(NSZone*)zone -모든 앱이 단일 존(기본 존)을 가진다.그래서 이 메서드를 구현할 때 zone 파라미터는 무시해도 된다. -copy 메서드는 NSObject 내에서 구현되어 있다.그리고 기본 존을 이용해 copyWithZone: 을 호출한다.그냥 copy 를 재정의하고 싶겠지만 꼭 copyWithZone: 을 대신 구현해야 한다.- (id)copyW.. 2017. 9. 2.
[Effective Java] clone 메소드는 신중하게 오버라이드 하자. [Effective Java] clone 메소드는 신중하게 오버라이드 하자. - Cloneable 인터페이스는 복제를 허용하는 객체라는 것을 알리는 목적으로 사용하는 믹스인 인터페이스( mixin interface ) 이다. 믹스인 인터페이스이기 때문에 자신이 clone method 를 가지고 있는 것도 아니다. Object 의 clone 은 Cloneable 을 implement 하지 않으면 사용할 수 없다. - Cloneable 을 implements 한 class 에 clone 을 호출하면, 해당 객체의 복제본을 만들어 반환한다. 복제 객체는 원본 객체와 같은 필드를 가지며 각 필드의 값도 복사된다. 하지만 reference 를 가진 녀석들은 deep copy 가 아닌 soft copy 를 수행한다.. 2016. 10. 10.
반응형