블록체인 학습
0 XP

Chapter 13 마무리 테스트

상속의 핵심 개념을 모두 적용해 컨트랙트를 완성하세요.

부모 컨트랙트를 정의하고, 자식이 is 로 상속받고, 부모의 virtual 함수를 자식이 override 로 재정의하는 흐름을 처음부터 끝까지 직접 구현해야 합니다. public 상태 변수를 선언하면 컴파일러가 자동으로 getter 함수 를 만들어 준다는 점도 함께 활용합니다.

작성 전 체크리스트

  • 부모의 재정의 대상 함수에는 virtual 이, 자식의 재정의 함수에는 override 가 정확히 붙어야 합니다.
  • 재정의 함수는 부모와 같은 시그니처(이름·매개변수·반환 타입)를 유지해야 합니다.
  • public 상태 변수는 별도 getter 를 만들지 않아도 외부에서 같은 이름으로 값을 읽을 수 있습니다.

pure 함수는 상태를 읽지도 쓰지도 않는 함수입니다. 고정된 문자열만 반환하는 describe 같은 함수에 적합합니다.

요구 사항:

  1. Vehicle 컨트랙트(부모)를 작성하세요.
    • wheels 라는 public 상태 변수를 선언하고 초기값을 4 로 설정하세요.
    • describe 라는 virtual public pure 함수를 만들고, 문자열 "vehicle" 을 반환하세요.
  2. Vehicle 을 상속받는 Car 컨트랙트(자식)를 작성하세요.
    • describe 함수를 override 로 재정의해 문자열 "car" 를 반환하세요.

부모에 virtual, 자식에 override 를 정확히 붙여야 컴파일됩니다. wheels 는 public 으로 선언해 자동 getter 가 생기게 하세요.

Code Editor
에디터를 불러오는 중...
실행 결과

Run 버튼을 눌러 코드를 실행하세요.