실습: 배열과 반복문으로 합계 구하기
배열에 담긴 값을 한꺼번에 처리하려면 반복문을 함께 써야 합니다. 이번 실습에서는 동적 배열의 모든 요소를 for 반복문으로 순회하며 합계를 구하는 컨트랙트를 만듭니다. 배열과 반복문을 결합하는 이 패턴은 평균 계산, 최댓값 찾기 등 거의 모든 배열 처리의 기초가 됩니다.
배열 순회의 기본 패턴
배열을 처음부터 끝까지 도는 표준 형태는 다음과 같습니다.
uint256 total = 0;
for (uint256 i = 0; i < numbers.length; i++) {
total += numbers[i];
}인덱스 i는 0에서 시작해 length보다 작을 때까지 증가하므로, 유효한 인덱스(0 ~ length - 1)만 안전하게 방문합니다. 누적 변수 total은 반드시 0으로 초기화한 뒤 각 요소를 더해 나갑니다.
배열이 길어지면 순회 반복문의 가스 비용도 요소 수에 비례해 커집니다. 무한정 커지는 배열을 통째로 도는 설계는 가스 한도 초과로 실패할 수 있으니 주의하세요.
동적 배열에 저장된 모든 숫자를 반복문으로 더하는 컨트랙트를 완성해봅시다.
해야 할 일:
Calculator컨트랙트 안에numbers라는uint256[]public 배열을 선언하세요.add함수로 값을numbers에push하세요.sum함수를 만들어for반복문으로 모든 요소를 더한 합계를 반환하세요. (view, returns (uint256))
반복문은 for (uint256 i = 0; i < numbers.length; i++) 형태로 작성합니다. 누적 변수는 0으로
초기화하세요.
완성 후 Run 을 눌러 모든 조건을 통과하는지 확인하세요.