1. Lära sig
  2. /
  3. Courses
  4. /
  5. R에서 S3와 R6로 배우는 Object-Oriented Programming

Connected

exercise

클론의 역습 (2)

R6 객체의 하나 이상의 필드에 다른 R6 객체가 들어 있으면, 기본적으로 clone()은 해당 R6 필드를 참조로 복사해요. 그 R6 필드를 값으로 복사하려면 clone() 메서드를 deep = TRUE 인수와 함께 호출해야 해요.

a_deep_copy <- an_r6_object$clone(deep = TRUE)

Instruktioner

100 XP

전자레인지의 전원 플러그를 설명하는 PowerPlug R6 클래스가 작업 공간에 미리 정의되어 있어요. MicrowaveOven 클래스에는 PowerPlug 객체가 포함되도록 업데이트되었어요.

  • MicrowaveOven 객체를 만들어 a_microwave_oven에 할당하세요.
  • 인수가 없는 clone() 메서드를 사용해 전자레인지를 cloned_microwave_oven 변수로 복사하세요.
  • clone() 메서드에 deep = TRUE를 전달하여 전자레인지를 deep_cloned_microwave_oven 변수로 깊은 복사하세요.
  • a_microwave_oven의 power_plug 필드 중 type 필드를 "British"로 바꾸세요.
  • a_microwave_oven과 cloned_microwave_oven의 power_plug$type 필드가 동일한지 확인하세요.
  • a_microwave_oven과 deep_cloned_microwave_oven의 power_plug$type 필드가 서로 다른지 확인하세요.