Modeling

상태 분기는 Union, 능력 조합은 Intersection으로 모델링한다

런타임에서 하나의 상태만 선택되면 union을, 한 객체가 여러 역할을 동시에 가져야 하면 intersection을 쓴다.

질문판정
성공 또는 오류처럼 갈라지는가?Success | Error 같은 discriminated union
검사 후 다른 속성을 써야 하나?status 같은 식별 속성으로 좁힘
한 객체가 여러 능력을 가져야 하나?User & AdminPrivileges처럼 요구를 합침
같은 키 타입이 충돌하나?string & number는 never로 수렴
기준해석
API 응답상태 분기 → union
관리자 사용자역할 조합 → intersection
안전 기준분기 조건과 조합 요구를 코드에 남김

핵심 유니온은 선택된 상태를 찾는 문제이고, 인터섹션은 요구 조건을 모두 만족시키는 문제다.