블록체인 학습
0 XP

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)을 종합해 컨트랙트를 완성하세요.

해야 할 일:

  1. Bank 컨트랙트를 선언하세요.
  2. balance 라는 uint256 public 상태 변수를 선언하세요.
  3. deposit 함수: uint256 amount 를 받아 balance 에 더합니다. (상태 변경)
  4. getBalance 함수: public view 로 balance 를 반환합니다.
  5. addInterest 함수: public pure 로 uint256 principal, uint256 rate 를 받아 principal * rate / 100 을 반환합니다.

deposit 은 상태를 바꾸므로 키워드 없음, getBalance 는 view, addInterest 는 입력값만 쓰므로 pure 입니다.

완성 후 Run 을 눌러 모든 조건을 통과하는지 확인하세요.

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

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