Menu
Coddy logo textTech

반려동물 정의하기

Coddy Rust 여정의 Object Oriented Programming 섹션에 포함된 레슨 — 61개 중 19번째.

challenge icon

챌린지

쉬움

Virtual Pet 프로젝트에 오신 것을 환영합니다! 앞으로 몇 가지 레슨을 통해 구조체(structs), 메서드(methods), 모듈(modules), 그리고 캡슐화(encapsulation)에 대해 배운 모든 내용을 종합하여 완전한 반려동물 시뮬레이션을 구축하게 됩니다.

이제 Virtual Pet 제작을 시작해 봅시다! 첫 번째 단계에서는 적절한 캡슐화를 갖춘 자체 모듈에 Pet 구조체를 생성하여 기초를 다질 것입니다.

코드는 다음 두 개의 파일로 구성됩니다:

  • pet.rs: 세 개의 비공개(private) 필드인 name (String), energy (u32), hunger (u32)를 가진 Pet 구조체를 정의하세요. 이름을 매개변수로 받아 energy100으로, hunger0으로 설정된 반려동물을 생성하는 공개(public) new 연관 함수를 구현하세요. 또한 반려동물의 이름에 대한 참조를 반환하는 공개 name 게터(getter) 메서드를 추가하세요.
  • main.rs: pet 모듈을 선언하고 Pet을 스코프로 가져옵니다. 입력으로부터 이름을 읽고, 그 이름으로 새 반려동물을 생성한 뒤 환영 메시지를 출력하세요.

환영 메시지는 다음 형식을 따라야 합니다:

Welcome, {name}!

예를 들어, 입력값이 Buddy라면 출력값은 다음과 같아야 합니다:

Welcome, Buddy!

구조체는 main.rs에서 사용할 수 있도록 공개(public)되어야 하지만, 필드들은 비공개(private)로 유지되어 제공된 메서드를 통해서만 접근할 수 있어야 함을 기억하세요.

직접 해보기

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: 주어진 name으로 새로운 Pet 생성하기

    // TODO: pet의 name getter를 사용하여 환영 메시지 출력하기
    // 형식: "Welcome, {name}!"
}

Object Oriented Programming의 모든 레슨