생성자에서 검증하면 이후 코드는 유효한 타입만 다룬다
외부 입력을 바로 필드에 넣지 않고 Result<Self> 생성자에서 검사하면 불변식을 타입 안에 가둘 수 있다.
아직 신뢰 불가
불변식 확인
이후 안전
호출자가 처리
| 구분 | 의미 | 판단 |
|---|---|---|
| 필드 public | 아무 값이나 대입 | 불변식 깨짐 |
| 필드 private | 생성자만 통과 | 검증 경계 |
| Result<Self> | 실패 가능성 표현 | panic 없이 거절 |
핵심 유효 타입은 값 검사를 매번 반복하지 않고 생성 지점에 모으는 설계다.