답변:
무언가를 기억해야 할 때 "상태"가 필요합니다. 기능 ( "방법"등)은 이상적으로 입력에만 의존합니다. 입력이 동일하더라도 시간이 지남에 따라 답변이 변경 될 수있는 질문을하는 경우 답변의 차이를 기억해야 할 것이 필요합니까? 그렇지 않으면 다른 요인이 변경되지 않아 다른 답변을 제공 할 수 없습니다 (답이 시간에 직접 의존하지 않는다고 가정합니다).
기억해야 할 "정보 / 정보"를 "상태"라고합니다.
(이 "상태"가 시간이 지남에 따라 변한다는 것을 요구하지는 않으며, 기본적으로 "기억하기 / 알기"라고 말하는 방법 일뿐입니다)
에서 위키 백과 :
상태는 일반적으로 시스템 또는 엔티티의 현재 상태를 나타냅니다.
이는 컴퓨팅 환경에서 의미하는 바, 즉 일부 객체 또는 시스템의 상태를 정의하는 데이터입니다.
'상태'의 의미는 프로그래밍에만 국한되지 않습니다. 말 그대로 어디에서나 '상태'의 예가 있습니다. 텔레비전이 꺼져 있습니다. 커피가 뜨겁습니다. 운동화는 a) 파란색입니다. b) 냄새 나는; c) 버리지 말 것; d) 상당히 마모되었습니다. 프로그래밍 의미에서 '상태'는 변수, 객체, 스레드, 데이터베이스, 파일 시스템 등과 같이 처리하는 객체에 적용한다는 점을 제외하고 프로그래밍이 아닌 의미에서 '상태'와 동일합니다. 그것을 설명하기 위해 친숙한 용어로 설명하십시오-외국의 기술적 개념으로 만들 필요가 없습니다.
시계는 상태가 간단한 시스템의 좋은 예입니다. 시계가 실행 중이거나 실행 중이 아닐 수 있으며 실제 시간과 일치하거나 일치하지 않을 수있는 시간을 나타냅니다. 이러한 것들이 변수와 어떻게 다른지, 그리고 시계의 상태를 바꾸는 것이 다른 것들에 어떤 영향을 미치는지 쉽게 알 수 있습니다.
"문이 붉다"라는 문장과 같이 상태가없는 것과 비교해보십시오. 성명서 자체에는 상태가 없습니다. 문이 빨간색 인 것은 사실 일 수도 있고 그렇지 않을 수도 있지만, 명세서 자체에는 상태가 없습니다. 문을 그리는 것은 성명서의 진실을 바꿀 수 있지만 성명서 자체는 절대 변하지 않습니다. 마찬가지로 42와 같은 숫자에는 상태가 없습니다. 42는 42이며 변경할 수있는 것은 없습니다.
변수 에는 상태가 있고 값 에는 없습니다.
상태는 프로그램이 일부 작업을 수행하기 위해 조작하는 정보입니다. 프로그램 실행 중에 변경되거나 조작되는 데이터 또는 정보입니다. 주어진 시간에 프로그램의 "상태"는 프로그램이 현재보고 있거나 실행중인 다음 단계로 가기 위해 분석하는 모든 데이터의 스냅 샷을 나타냅니다.
우리 대학은 Scheme으로 시작하여 State-less 모델로 프로그래밍을 시작했습니다. 그런 다음 C로 전환하여 상태가 무엇인지, 왜 유용한 지, 왜 잠재적으로 매우 복잡한 지에 대해 매우 명확했습니다. 따라서 일부 대학은 확실히 국가에 대해 이야기하지만 반드시 모두는 아닙니다
[GREEN], [YELLOW] 또는 [RED]의 세 가지 상태 중 하나에 해당하는 신호등의 비유를 사용할 수 있습니다. 한 번에 하나의 상태에만 있어야합니다. 신호등은 모델링되는 실제 상태 머신입니다. 일반적으로 [GREEN에서 YELLOW]로, [YELLOW에서 RED]로, [RED에서 GREEN]으로 상태가 전환됩니다.
대체 국가 전환 (영국과 같은 일부 국가에서 적용)은 [RED to GREEN] 전환 대신 [RED to YELLOW, YELLOW to GREEN]의 두 전환이 있습니다.