술(述)/비교

status vs state

쪼랩전사 2021. 8. 5. 22:33
728x90

"status"와 "state"는 직역하면 "상태"이다.
그렇지만, 이 둘은 엄연히 구분되어 사용된다.

Status

status는 어떤 연산 결과이다.

연산 결괏값을 말하는 게 아니다. 어디까지나 status도 상태이다.
대표적인 예로 HTTP Status Code가 있다.
200 OK
404 Not Found
위와 같이 어떠한 연산의 결과 상태가 status이다.

State

state는 어떤 연산의 수행 과정이다.
"어떤 일을 하는 중"이라고 하면 모두 state이다.
"~하는 중"이라고 표현되지 않더라도, 수행 과정이라면 state이다.

예시 - 수학 문제

어떤 수학 문제가 있다.
수학 문제를 푸는 중이면? state!
수학 문제를 다 풀었다면? state!
위는 언뜻 보기에 수학 문제를 다 풀었다는 결과같이 보일 수 있으나, 채점 대기 state라고 보는 게 더 옳다.
수학 문제가 맞았다면? status!

예시 - 온라인 쇼핑

어떤 물건을 온라인 주문했다.
입금확인중 -> 결제완료 -> 상품준비중 -> 배송중 -> 배송완료 -> 구매확정
위의 상태는 네이버 쇼핑을 할 때, 나열되는 상태이다.
이 상태는 status일까? state일까?
정답은 state이다.
우리는 "주문"이라는 연산을 시도했고,
위에 나열된 과정을 거치므로, 이는 state이다.
이 연산의 결과(status)는 "상품을 잘 전달 받았다." 정도가 있다.

끝마치며...

status와 state는 항상 볼 때마다 헷갈리는 것같다.

연산의 과정? state!

연산의 결과? status!

위에 것만 보면 되는데 영어가 참 그렇다.