실습: setter 함수 작성하기
상태 변수의 값을 바꾸는 함수를 setter 라고 합니다. getter 가 값을 "읽는" 창구라면, setter 는 값을 "쓰는" 창구입니다. 상태를 변경하므로 view 나 pure 를 붙이지 않습니다. 상태를 바꾸는 함수는 블록체인에 트랜잭션으로 기록되고, 그만큼 가스도 듭니다.
setter 는 보통 외부에서 새 값을 매개변수로 받아 상태 변수에 대입하는 형태입니다.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
contract NameStore {
string public name;
// 외부에서 받은 값을 상태 변수에 저장: 상태 변경이므로 키워드 없음
function setName(string calldata newName) public {
name = newName;
}
}해야 할 일:
Storage컨트랙트 안에value라는uint256public 상태 변수를 선언하세요.setValue함수를 작성하세요. 이 함수는uint256 newValue매개변수를 받습니다.setValue안에서value에newValue를 대입하세요.
상태를 변경하는 함수에는 view·pure 를 붙이면 안 됩니다. public 상태 변수에는 자동 getter 가 생기므로 별도 조회 함수가 필요 없습니다.
완성 후 Run 을 눌러 모든 조건을 통과하는지 확인하세요.