이번 연재의 목표: 러스트로 값의 주인이 누구인지 설명하고, 그 규칙 위에서 대출 기록을 파일에 남기는 작은 프로그램을 완성합니다.
기준은 2026년 10월 15일에 나온 안정 버전 1.99.1입니다. 언어 모드는 에디션 2024입니다. 예제는 cargo로 만들고 cargo run으로 실행합니다. 더 높은 안정 버전이어도 아래 문법 자체는 같습니다.
고수는 문법을 많이 외운 상태가 아닙니다. 문자열이 어디로 옮겨가는지, 참조가 언제까지 유효한지, 실패를 Result로 돌려 호출자가 처리하게 하는지를 설명할 수 있는 상태입니다. 동시성과 unsafe는 이 연재의 범위 밖에 둡니다.
목차
01 — 설치와 첫 실행 rustup으로 1.99.1을 두고, cargo가 만든 첫 프로그램을 실행합니다.
02 — 변수와 자료형 바꿀 수 없는 값과 바꿀 수 있는 값을 나누고, 정수와 문자열을 구분합니다.
03 — 함수 연체료 계산에 이름을 붙이고, 세미콜론이 없는 식을 결과로 돌려줍니다.
04 — 조건과 반복 if의 결과로 문구를 고르고, 범위로 연체료 합계를 구합니다.
05 — 소유권 정수는 복사되고 문자열은 옮겨진다는 차이를 컴파일러로 확인합니다.
06 — 참조와 빌림 소유권을 넘기지 않고 주소를 빌려, 호출자가 가진 값을 바꿉니다.
07 — 문자열과 슬라이스 바이트 수와 글자 수를 구분하고, 제목의 첫 단어를 빌립니다.
08 — 구조체 책 한 권의 제목과 연체 일수를 하나의 타입으로 묶습니다.
09 — 열거형과 match 정상과 연체를 한 타입의 갈래로 두고, 빠짐없이 나눕니다.
10 — 벡터 길이가 실행 중에 늘어나는 목록에 연체 일수를 담습니다.
11 — 해시맵 종이책과 전자책의 하루 요율을 이름으로 찾습니다.
12 — Result와 ? 잘못된 입력을 값으로 돌려, 호출자가 다음 행동을 고르게 합니다.
13 — 모듈과 공개 계산을 다른 파일로 옮기고, 밖으로 열 함수만 pub로 표시합니다.
14 — 테스트 연체료가 0일과 3일에서 기대한 값인지 cargo test로 확인합니다.
15 — 제네릭 같은 비교를 정수에도 쓸 수 있게 타입 매개변수로 적습니다.
16 — 트레이트 종이책과 전자책이 각자 다른 연체료를 계산하되 같은 이름으로 호출합니다.
17 — 수명 돌려주는 참조가 어느 입력만큼 살아 있는지 표시합니다.
18 — 클로저와 반복자 목록에서 연체된 날만 골라 요율을 곱하고 합칩니다.
19 — 파일 연체료 한 줄을 텍스트 파일에 쓰고 다시 읽습니다.
20 — 대출 기록기 제목과 연체 일수를 받아 CSV에 남기고, 권마다 연체료를 출력합니다.
학습 방법
01편에서 library 프로젝트를 하나 만듭니다. 02편부터 12편, 15편부터 19편은 그 프로젝트의 src/main.rs를 해당 편의 코드로 교체한 뒤 cargo run으로 확인합니다. 13편과 14편은 src/book.rs를 추가합니다. 20편은 다시 src/main.rs 한 파일로 기록기를 완성합니다.
출력 숫자는 실행 전에 손으로 계산해 맞춥니다. 컴파일 오류가 나오면 다음 편으로 넘어가지 않습니다. 오류 메시지는 어느 값이 이미 옮겨갔는지, 어느 참조가 너무 오래 사는지 알려 줍니다.
COMMENTS
댓글 0
이 글에 대한 의견이나 질문을 남겨 주세요.
댓글은 구글이나 카카오로 시작한 뒤에 남길 수 있습니다.
등록된 댓글이 없습니다.