struct shape

구조체는 데이터 묶음에 도메인 이름을 부여한다

일반 구조체, 튜플 구조체, 유사 유닛 구조체는 모두 타입을 만들지만 읽기 목적과 보유 데이터가 다릅니다.

Named fields

Named fields

User처럼 각 값의 의미를 필드명으로 남겨 순서 의존을 없앱니다.

Shorthand

Shorthand

변수명과 필드명이 같으면 email, username처럼 축약할 수 있습니다.

Update syntax

Update syntax

..user1은 나머지 필드를 가져오지만 String 필드는 이동될 수 있습니다.

Unit-like

Unit-like

데이터 없이 트레이트 구현용 마커 타입이 필요할 때 씁니다.

가변성 mut은 특정 필드가 아니라 인스턴스 전체에 적용됩니다.
소유 필드 String 필드를 쓰면 인스턴스가 유효한 동안 데이터도 함께 유효합니다.
참조 필드 &str 필드를 저장하려면 이후 라이프타임 설명이 필요합니다.

구조체 설계는 값을 묶는 문법이 아니라 코드가 어떤 데이터 의미를 보존해야 하는지 정하는 일입니다.