Chapter 4 마무리 테스트
이번 테스트에서는 4장에서 배운 상태 변수, 네 가지 가시성, 그리고 constant·immutable을 종합해 작은 계정 컨트랙트를 완성합니다. 각 개념이 실제 컨트랙트에서 어떻게 어우러지는지 직접 확인해 보세요.
어떤 개념이 어디에 쓰이나
MAX_BALANCE는 절대 바뀌지 않는 상한값입니다. 컴파일 시점에 값이 고정되도록public constant로 둡니다.owner는 배포한 사람으로 한 번만 정해지므로public immutable로 선언하고 생성자에서msg.sender를 대입합니다.balance는 실행 중에 값이 바뀌니 가시성만public인 일반상태 변수입니다.- 값을 바꾸는
setBalance는public, 값을 읽기만 하는getBalance는view로 선언합니다.
요구 사항:
Account컨트랙트를 선언하세요.uint256타입의MAX_BALANCE상태 변수를public constant로 선언하고 값을1000으로 설정하세요.address타입의owner상태 변수를public immutable로 선언하고, 생성자에서msg.sender로 설정하세요.uint256타입의balance상태 변수를public으로 선언하세요. (초기값 없음)- 값을 저장하는
setBalance(uint256 value)함수를public으로 구현해balance에 대입하세요. - 저장된 값을 반환하는
getBalance()함수를view로 구현하세요. (returns (uint256))
constant 는 선언과 동시에, immutable 은 생성자에서 값을 정합니다. getBalance 는 읽기만 하므로 view 로 선언합니다.