본문 바로가기
Software Architecture

[Term] State vs Status

by 기몬식 2023. 7. 25.

State와 Status는 둘다 프로그램이나 시스템이 현재 어떤 상태에 있는지를 나타내는 용어입니다. 그러나 이 둘은 서로 다른 의미를 가지고 있습니다.
프로그래밍 관점에서 어떻게 다르며, 사용될 수 있는 예는 어떻게 되는지 알아보도록 하겠습니다.

State

State는 객체의 내부 데이터나 현재 상태를 의미합니다.
객체의 상태는 해당 객체의 속성 값들의 조합으로 정의합니다.

예를 들어 프로그램에서 자동차 객체를 모델링하고있다면, 자동차 객체의 내부 데이터는 아래와 같은 상태로 나타낼 수 있습니다.

  • 현재 속도
  • 기름의 양
  • 주행거리

또 서버 프로그래밍에서 사용자가 로그인한 경우에 대한 상태(State)는 아래와 같이 가질 수 있습니다.

  • 사용자 이름
  • 로그인 시간
  • 사용자가 수행한 작업

위의 예와 같이 State는 정해진 상태값이 아니거나 매우 복합적인 형태로 표현됩니다.

Status

Status는 결과로서의 현재 상태를 의미합니다.
보통 프로그램의 실행 상태, 작업 수행 여부, 인터넷 연결 상태 등과 같은 것을 의미합니다.

예를 들어 서버 프로그래밍에서 사용자가 로그인한 경우에 대한 상태(Status)는 아래와 같이 가질 수 있습니다.

  • 로그인 여부(로그인중인지, 로그아웃중인지 등)
  • 서버의 상태(실행중, 응답없음 등)

위의 예와 같이 Status는 정해진 선택지 중에서의 하나인 경우를 상태로 표현됩니다.

결론

State는 현재 상태를 나타내고 경과의 개념이 없으며 정해진 선택지가 없거나 매우 복합적인 형태로 나타낼 수 있습니다.
Status는 결과로서의 현재 상태를 나타내고 경과되는 한 상태이며 정해진 선택지 중 하나인 형태로 나타낼 수 있습니다.

오탈자 및 오류 내용을 댓글 또는 메일로 알려주시면, 검토 후 조치하겠습니다.

'Software Architecture' 카테고리의 다른 글

[Dev] 애자일(Agile) 방법론  (0) 2023.11.06
[Dev] BDD(Behavior-Driven Development)  (0) 2023.08.08