반려동물 정의하기
Coddy Rust 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨. 61개 중 19번째.
챌린지
쉬움Virtual Pet 프로젝트에 오신 것을 환영합니다! 앞으로 몇 개의 레슨에 걸쳐, 지금까지 배운 struct, method, module, encapsulation에 관한 모든 내용을 하나로 결합한 완전한 pet simulation을 만들게 됩니다.
Virtual Pet을 만들어 보겠습니다! 첫 번째 단계에서는 적절한 encapsulation을 적용하여 별도의 module에 Pet struct를 만드는 방식으로 기본 구조를 설정합니다.
코드를 두 개의 파일로 구성합니다:
pet.rs: 세 개의 private fields인name(String),energy(u32),hunger(u32)를 가진Petstruct를 Define합니다. name을 takes하고energy를100으로,hunger를0으로 설정한 pet을 만드는 publicnewassociated function을 Implement합니다. 또한 pet의 name에 대한 reference를 returns하는 publicnamegetter method를 추가합니다.main.rs:petmodule을 Declare하고Pet을 scope에 가져옵니다. 입력에서 name을 read하고, 해당 name으로 새 pet을 만든 다음 welcome message를 Print합니다.
welcome message는 다음 Format을 따라야 합니다:
Welcome, {name}!예를 들어 입력이 Buddy라면 출력은 다음과 같아야 합니다:
Welcome, Buddy!struct는 main.rs에서 사용할 수 있도록 public이어야 하지만, fields는 private으로 유지되어야 한다는 점을 기억하세요. fields에는 사용자가 제공하는 method를 통해서만 접근할 수 있습니다.
직접 해보기
mod pet;
use pet::Pet;
fn main() {
let mut name = String::new();
std::io::stdin().read_line(&mut name).expect("Failed to read line");
let name = name.trim().to_string();
// TODO: 주어진 이름으로 새 Pet을 생성하세요
// TODO: pet의 name getter를 사용하여 환영 메시지를 출력하세요
// 형식: "Welcome, {name}!"
}
객체 지향 프로그래밍의 모든 레슨
직접 연습해 보세요: 온라인 Rust 컴파일러