공개 상태 접근자
Coddy Solidity 여정의 기초 섹션에 포함된 레슨. 53개 중 28번째.
상태 변수에 public을 추가하면 컴파일러가 컨트랙트 외부에서 호출할 수 있는 getter를 생성합니다. setter는 생성하지 않습니다. 컨트랙트 내부에서는 변수 이름으로 직접 읽으세요. public 가시성은 인터페이스를 제어할 뿐, 블록체인 저장소가 비밀인지 여부를 제어하지 않습니다.
컨트랙트 범위에서 다음을 선언하세요:
uint256 public score;제공된 main 함수 내부에서 사용하세요:
score = 32;
console.log(score);uint256 public score 선언은 외부 호출자를 위한 score라는 getter를 생성합니다. main 내부에서 이름만 사용하면 상태 변수를 읽습니다. 이 변수에 값을 쓰는 작업은 여전히 컨트랙트 코드가 필요하며, public이라고 해서 호출자가 스토리지에 직접 값을 할당할 수 있는 것은 아닙니다.
public 상태 변수에는 자동 setter가 아니라 외부 getter가 생성됩니다.
챌린지
쉬움uint256 public total을 선언하세요. main 내부에서 total을 전달된 amount로 설정하고 출력하세요.
테스트는 다음 순서로 main에 인수를 전달합니다: uint256 amount. 각 테스트는 새로운 컨트랙트 상태에서 시작합니다.
요청된 출력을 위해 console.log를 사용하세요. 요청된 값만 한 줄에 하나씩 출력하고, 과제에서 지정하지 않는 한 추가 레이블은 포함하지 마세요.
직접 해보기
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 amount) external {
// 여기에 솔루션을 작성하세요.
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: Solidity 플레이그라운드