Chapter 5 마무리 테스트
이 차시에서 배운 함수의 모든 개념을 하나의 컨트랙트에서 종합합니다. 점검할 핵심은 다음과 같습니다.
- 매개변수 로 입력을 받고,
returns+return으로 결과를 돌려줍니다. - 상태를 변경하는 함수는 키워드를 붙이지 않습니다. (예: 입금)
- 상태를 읽는 함수는
view를 붙입니다. (예: 잔액 조회) - 입력값만으로 계산하는 함수는
pure를 붙입니다. (예: 이자 계산)
// 패턴 미리보기: 세 종류의 함수가 한 컨트랙트에 공존합니다.
uint256 public balance;
function deposit(uint256 amount) public { balance += amount; } // 상태 변경
function getBalance() public view returns (uint256) { return balance; } // view
function addInterest(uint256 p, uint256 r) public pure returns (uint256) { return p * r / 100; } // pure함수 기초에서 배운 모든 개념(매개변수, 반환값, view, pure, setter)을 종합해 컨트랙트를 완성하세요.
해야 할 일:
Bank컨트랙트를 선언하세요.balance라는uint256public 상태 변수를 선언하세요.deposit함수:uint256 amount를 받아balance에 더합니다. (상태 변경)getBalance함수:public view로balance를 반환합니다.addInterest함수:public pure로uint256 principal, uint256 rate를 받아principal * rate / 100을 반환합니다.
deposit 은 상태를 바꾸므로 키워드 없음, getBalance 는 view, addInterest 는 입력값만 쓰므로 pure 입니다.
완성 후 Run 을 눌러 모든 조건을 통과하는지 확인하세요.