실습: 기본 상속 구현하기
부모 컨트랙트를 상속받아 그 기능을 재사용하는 컨트랙트를 만들어봅시다.
상속을 선언하면 부모의 public · internal 멤버를 자식이 직접 선언한 것처럼 쓸 수 있습니다. 같은 로직을 다시 작성하지 않고 물려받은 함수를 그대로 호출하는 것이 상속의 가장 기본적인 쓰임새입니다.
상속 선언과 부모 함수 호출
자식 컨트랙트는 contract 자식 is 부모 { ... } 형태로 상속을 선언합니다. 선언만 해두면 부모의 함수를 별도 접두사 없이 바로 부를 수 있습니다. 예를 들어 부모에 getValue() 가 있다면, 자식 함수 안에서 getValue() 라고만 적어도 부모의 구현이 실행되어 그 반환값을 그대로 활용할 수 있습니다.
부모의 public 함수는 외부에서도 호출 가능하지만, 이번 실습에서는 자식 함수 내부에서 호출해 그
결과를 다시 반환하는 흐름을 연습합니다.
해야 할 일:
- 아래에 이미 작성된
Base컨트랙트가 있습니다. (수정하지 마세요.) Base를 상속받는Derived컨트랙트를 작성하세요.Derived안에useBase라는public함수를 만들고, 부모에게서 물려받은getValue를 호출해 그 결과(uint256)를 반환하세요.
contract Derived is Base { ... } 형태로 상속을 선언합니다. 물려받은 함수는 그냥 이름으로 호출하면 됩니다.