1
데이터 모델링
서로 떨어진 숫자를 Rectangle 타입 안의 이름 있는 필드로
묶는다.
struct Rectangle {
width: u32,
height: u32,
}
width와 height를 구조체 필드로 고정하면
함수 호출, 디버그 출력, 이후 메서드 리팩터링까지 같은 모델 위에서
설명할 수 있다.
서로 떨어진 숫자를 Rectangle 타입 안의 이름 있는 필드로
묶는다.
struct Rectangle {
width: u32,
height: u32,
}
실제 값은 rect1에 담고, 필드 이름으로 어떤 수치인지
드러낸다.
let rect1 = Rectangle {
width: 30,
height: 50,
};
계산 로직은 구조체 참조를 받아 필드 이름으로 넓이를 구한다.
fn area(rect: &Rectangle) -> u32 {
rect.width * rect.height
}
Debug를 파생하면 필드 값과 계산 전후 상태를 출력으로
확인한다.
#[derive(Debug)]
println!("{:?}", rect1);
튜플 인덱스를 기억하는 코드에서 벗어나면, 다음 단계인 메서드 정의도
자연스럽게 Rectangle 중심으로 이동한다.