시작하기무료로 시작하기

조리 기능 확장하기

자식 클래스는 부모 클래스에 없는 이름의 공개 메서드(public method)를 더해 부모의 기능을 확장할 수 있어요.

공개 메서드는 이름 앞에 self$를 붙여 다른 공개 메서드를 호출할 수 있어요.

이 연습은 강의의 일부입니다

R에서 S3와 R6로 배우는 Object-Oriented Programming

강의 보기

연습 안내

전자레인지가 작업 공간에 미리 정의되어 있어요.

  • fancy 전자레인지 클래스 정의를 확장해 public 요소를 포함하세요.
  • 공개 메서드 cook_baked_potato()를 추가하세요.
    • 이 메서드는 인수를 받지 않아야 해요.
    • 본문에서는 자신의 cook() 메서드를 3초 동안 호출해야 해요.
  • FancyMicrowaveOven 객체를 생성해서 a_fancy_microwave에 할당하세요.
  • a_fancy_microwavecook_baked_potato() 메서드를 호출하세요.

경고: 3초만 조리한 베이크드 포테이토는 맛이 없고 식중독을 일으킬 수 있으니 절대 드시지 마세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Explore microwave oven class
microwave_oven_factory

# Extend the class definition
fancy_microwave_oven_factory <- R6Class(
  "FancyMicrowaveOven",
  inherit = microwave_oven_factory,
  # Add a public list with a cook baked potato method
  ___ = ___(
    ___ = ___
    
    
  )
)

# Instantiate a fancy microwave
a_fancy_microwave <- ___

# Call the cook_baked_potato() method
___
코드 편집 및 실행