플래그
컴퓨터 과학에서 플래그는 함수나 프로세스에 대한 신호 역할을 하는 값입니다. 플래그의 값은 프로그램의 다음 단계를 결정하는 데 사용됩니다. 플래그는 불리언 값(true 또는 false)을 포함하는 이진 플래그인 경우가 많습니다. 그러나 모든 플래그가 이진인 것은 아니며, 여러 값의 범위를 저장할 수 있는 플래그도 있습니다.
이진 플래그를 작은 빨간 깃발이라고 생각해 보세요. false일 때는 깃발이 바닥에 누워 있다가 true가 되면 위로 올라옵니다. 깃발이 올라가면 프로그램에 "멈추고 다른 작업을 수행하라"고 알리는 것입니다. 컴퓨터 프로그래밍에서 플래그를 사용하는 일반적인 예는 while 루프의 변수입니다. 아래의 PHP 루프는 $flag가 true로 설정될 때까지 반복 실행됩니다.
$flag = false;
$i = 1;
while (!$flag) // stop when $flag is true
{
echo "$i, ";
$i++; // increment $i
if ($i > 100) $flag = true;
}
위 코드는 100까지 숫자(1, 2, 3...)를 출력합니다. 그런 다음 $flag가 true로 설정되므로 루프가 중단됩니다. 이 상황에서 플래그를 사용하는 것은 효과적이지만 꼭 필요하지는 않습니다. 대신 while (!$flag) 대신 while 루프 조건을 while ($i < 101)로 설정할 수 있습니다. 이렇게 하면 같은 결과가 나오고 $flag 변수가 필요하지 않습니다. 효율적으로 작성된 프로그램에는 명시적인 플래그가 필요한 경우가 드뭅니다. 함수 안에 이미 있는 변수를 플래그로 사용할 수 있는 경우가 많기 때문입니다.
비이진 플래그
비이진 플래그는 여러 비트를 사용하며 "예 또는 아니요"나 "true 또는 false"보다 많은 값을 저장할 수 있습니다. 이러한 유형의 플래그에는 1비트보다 많은 비트가 필요하지만, 반드시 전체 바이트가 필요한 것은 아닙니다. 예를 들어 2비트로 네 가지 가능한 옵션을 만들 수 있습니다.
- 00 = 옵션 A
- 01 = 옵션 B
- 10 = 옵션 C
- 11 = 옵션 D
비이진 플래그를 여러 색으로 이루어진 깃발이라고 생각해 보세요. 프로그램은 1) 여러 비트로 이루어진 플래그가 설정되어 있는지, 2) 어떤 값을 포함하는지 확인할 수 있습니다. 플래그의 값(또는 "색")에 따라 프로그램은 해당하는 방향으로 계속 실행됩니다.
지식 테스트하기