세미콜론(;)


PHP는 C언어자바처럼 프로그래밍 언어 중에서도 고급 언어에 속합니다.


고급언어


고급 언어란 컴퓨터가 이해하는 기계어 나 어셈블리어처럼 마이크로프로세서 중심의 언어로 작성되는 것이 아닌, 사람이 일반적인 언어처럼 쉽게 문장을 이해할 수 있는 형태의 언어 구조를 말합니다. 대표적인 고급 언어로는 C 언어, 베이직, PHP, 자바 등이 이에 속합니다.


명령어의 구분


기본적으로 프로그램은 소스상의 한 줄 단위로 명령어를 읽어서 컴퓨터에서 해석하고 동작합니다. 하지만 프로그래밍 언어가 고급 언어로 넘어오면서 한 줄로 다 표현할 수 없는 경우가 많아지고, 가독성이 떨어지는 문제가 있습니다. 이런 경우 한 줄 단위 명령처럼 하나의 명령의 끝을 표기해야만 컴퓨터가 한 개의 명령문을 이해할 수 있습니다.

이런 표기를 대부분의 언어에서는 세미콜론(;)을 이용하여 처리합니다.
즉 하나의 프로그램 문장이 시작하여 세미콜론을 만나게 되면 컴퓨터는 하나의 명령문으로 인식을 하고 처리합니다.


콜론


여기서 주의할 점은 많은 초보자 개발자들이 세미콜론(;)콜론(:)을 헷갈린다는 것입니다.
만일 소스상에서 세미콜론을 빼먹거나 잘못 입력했을 경우에는 프로그램 오류로 동작을 하지 않습니다.
또는, 프로그램 전체가 동작하지 않을 수 있습니다.


실습예제


다음은 Hello World!라는 문장을 세 번 출력을 하는 간단한 PHP 프로그램입니다.
각각의 명령어 문장 뒤에는 세미콜론(;)이 붙어서 한 개의 명령문을 구분하고 있습니다.

예제파일:hello-04.php

<!DOCTYPE html>
<html>
<body>
 
	<?php
		ECHO "Hello World!<br>";

		echo "Hello
		World!<br>";

		ecHo "Hello
		World!
		<br>";
	?>
 
</body>
</html>

첫 번째 Hello World!는 한 줄에 모두 쓰여 있어서 한 줄 명령과 헷갈릴 수도 있을 것입니다.
하지만 두 번째와 세 번째 명령을 보면 하나의 명령을 두 줄이나 세 줄로 표시해서 출력할 때 명령의 끝을 세미콜론(;)을 통해 다수의 라인으로 명령을 작성할 수 있습니다.


명령 구분자


명령의 구분자는 왜 중요할까요? 그리고 명령 구분자 세미콜론(;)을 넣지 않으면 왜 프로그램이 실행되지 않을까요?
고급 언어의 경우 컴파일/인터프리터라는 처리 후에 컴퓨터가 인지되는 프로그램으로 변경되기 때문입니다.

고급 언어는 앞에서 언급한 것과 같이 컴퓨터가 이해를 하지 못하는 언어 구조입니다.
사람이 좀 더 쉽게 이해할 수 있도록 만든 가상의 언어입니다.
그래서 고급 언어는 실행 전에 컴파일러/인터프리터라는 프로그램이 고급 언어로 작성된 소스를 읽어 세미콜론(;)으로 구분을 하고 각각의 작성된 내용을 분석하여 기계어로 만듭니다.

그래서 명령어의 구분자인 세미콜론(;)을 입력하지 못하면 컴파일러/인터프리터가 작성된 소스를 구분할 수 없고, 잘못 분석하여 처리하기 때문에 프로그램이 동작을 하지 않습니다.


Quiz


퀴즈를 통하여 학습한 내용을 다시한번 생각해 봅니다.