블록체인 학습
0 XP

Chapter 4 마무리 테스트

이번 테스트에서는 4장에서 배운 상태 변수, 네 가지 가시성, 그리고 constant·immutable을 종합해 작은 계정 컨트랙트를 완성합니다. 각 개념이 실제 컨트랙트에서 어떻게 어우러지는지 직접 확인해 보세요.

어떤 개념이 어디에 쓰이나

  • MAX_BALANCE는 절대 바뀌지 않는 상한값입니다. 컴파일 시점에 값이 고정되도록 public constant로 둡니다.
  • owner는 배포한 사람으로 한 번만 정해지므로 public immutable로 선언하고 생성자에서 msg.sender를 대입합니다.
  • balance는 실행 중에 값이 바뀌니 가시성만 public인 일반 상태 변수입니다.
  • 값을 바꾸는 setBalance는 public, 값을 읽기만 하는 getBalance는 view로 선언합니다.

요구 사항:

  1. Account 컨트랙트를 선언하세요.
  2. uint256 타입의 MAX_BALANCE 상태 변수를 public constant 로 선언하고 값을 1000 으로 설정하세요.
  3. address 타입의 owner 상태 변수를 public immutable 로 선언하고, 생성자에서 msg.sender 로 설정하세요.
  4. uint256 타입의 balance 상태 변수를 public 으로 선언하세요. (초기값 없음)
  5. 값을 저장하는 setBalance(uint256 value) 함수를 public 으로 구현해 balance 에 대입하세요.
  6. 저장된 값을 반환하는 getBalance() 함수를 view 로 구현하세요. (returns (uint256))

constant 는 선언과 동시에, immutable 은 생성자에서 값을 정합니다. getBalance 는 읽기만 하므로 view 로 선언합니다.

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

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