Struct Value Model

Rectangle 예제는 흩어진 숫자를 하나의 타입으로 묶어 계산한다

widthheight를 따로 넘기면 둘의 관계가 코드 밖에 흩어진다. 구조체로 묶으면 값의 의미가 타입에 붙고, impl 메서드가 그 값을 안전하게 계산한다.

시각 모델

구조체 필드는 사각형의 두 축을 같은 값 묶음 안에 보관한다.

인스턴스 let rect1 = Rectangle { width: 30, height: 50, };
field 이름으로 접근한다
type 두 값은 Rectangle 소속
1

필드 선언

struct Rectangle { width: u32, height: u32, }

이름 있는 필드가 값의 의미를 타입 안으로 가져온다.

2

값 생성

Rectangle { width: 30, height: 50 }

생성 시점에 두 값을 같은 인스턴스로 묶는다.

3

메서드 계산

fn area(&self) -> u32 { self.width * self.height }

&self가 인스턴스를 빌려 필드 값을 곱한다.

4

출력과 검증

println!("{rect1:?}");

Debug 파생으로 필드 상태를 확인하고 계산 결과를 대조한다.