모든 프로그램 개발 언어는 주석문이라는 기능이 있습니다. 주석은 프로그램 언어에서 개발자가 소스상에 설명을 적는 역할을 합니다. 방대한 프로그램 소스를 여러 사람이 공유하면서 상호 이해하거나 아니면 자신이 작성한 코드를 그때의 기억을 쉽게 떠올리기 위해 사용하는 기능이 주석 기능입니다.
주석 기능은 설명을 적기 위해 도입되었지만 실제 상황에서는 설명만이 아니라 잠시 소스 코드의 실행을 배제하는 용도로도 많이 사용합니다. 또한 주석 문법은 대부분의 언어가 비슷하기 때문에 한 개의 언어로 학습을 해둔다면 다른 언어를 배우는 데도 많은 도움이 됩니다.
주석은 크게 두 가지 방식을 제공합니다. 첫 번째는 소스를 읽었을 때 한 줄 한 줄을 주석으로 처리하는 한 줄 주석 처리문과 여러 줄을 한꺼번에 처리하는 방법이 있습니다.
한 줄 주석 처리는 프로그램 소스상에서 한 줄만 주석으로 처리합니다. 한 줄을 주석으로 처리하기 위해서는 주석을 처리하고자 하는 위치에서 백슬래시(/
) 기호를 두 번 연속해서 넣으면 됩니다. 즉, 주석을 처리하고자 하는 위치에 //
기호를 넣으면 됩니다.
한 줄 주석 처리 기호의 시작 위치는 중요하지 않습니다. 기호를 삽입하는 바로 다음 문자부터 한 줄의 끝을 만나는 지점까지 모두를 주석으로 처리합니다.
예제파일: comment-01.php
<?php
// <--한 줄의 시작부터 주석이 시작될 수 있습니다.
$name = "hello world!"; // <-- PHP코드 뒤부터 한 줄 처리 주석을 시작할 수 있습니다.
?>
한 줄 주석을 사용하는 습관은 프로그래머마다 다릅니다. 하지만 필자의 경우 대부분 첫 줄부터 시작하는 주석은 해당 코드의 설명을 주로 기입하고, 코드 뒤에 입력한 주석은 코드의 상태나 부연 설명 등을 위해 주로 사용합니다.
#
기호한줄 주석처리로 #
기호를 사용할 수도 있습니다. 문장의 제일 처음에 #
기호를 작성하면 됩니다.
<?php
# 헬로우월드를 출력합니다.
echo "hello world";
여러 줄 주석 처리 기능은한 줄 처리 주석과 달리 여러 줄의 내용을 한꺼번에 주석으로 처리하고자 할 때 사용하는 방법입니다. 특정 블록 영역을 주석으로 처리할 때 매우 편리합니다. 여러 줄을 주석으로 처리하는 방법은 /*
로 시작해서 */
로 블록을 정하면 됩니다. 해당 기호로 감싸인 내용은 프로그램 소스상에서 주석으로 처리되어 실행되지 않습니다.
다음 예제에서 여러 줄 주석 처리 방법을 확인할 수 있습니다.
예제파일: comment-02.php
<?php
// This is a single-line comment
/*
This is a multiple-lines comment block
that spans over multiple
lines
*/
// You can also use comments to leave out parts of a code line
$x = 5 /* + 15 */ + 5;
echo $x;
?>
여러 줄 주석 처리 /* */
는 중첩되어 사용할 수 없습니다. 즉, /* */
로 주석 처리된 블록 안에서 또 다른 /* */
주석 블록을 삽입할 수 없다는 뜻입니다. 이런 경우 PHP는 에러를 발생하고 실행이 중단됩니다.
여러 줄 주석 처리의 잘못된 예)
/*
여러 줄 주석입니다.
/*
서브로 여러 줄 주석은 삽입을 할 수 없습니다.
*/
주석의 끝입니다.
*/
다중 주석 처리 문 안에는 한 줄 주석을 삽입할 수 있습니다.
/*
여러 줄 주석입니다.
// 중간에 한 줄 주석문은 삽입이 가능합니다.
//
주석의 끝입니다.
*/
오픈소스 등 공개된 소스를 다운로드해서 보면 수많은 줄의 설명 주석을 보게 됩니다. 이처럼 주석문을 잘 사용을 하면 소스 오류를 테스트하고 다른 사람과 개발에 대한 정보를 소스 코드에 설명을 삽입하여 공유할 수 있습니다.
주석을 잘 작성하는 것은 매우 중요합니다. 오래되고 경험이 많은 개발자일수록 주석문을 통해 소스에 대한 설명을 많이 기재합니다.
여러줄을 처리하는 주석문을 통하여 문서를 생성할 수 있는 phpdoc
이 있습니다.
phpdoc은 /**
로 시작하며, */
로 종료 됩니다.
/**
* PHPDOC 문서
*/
퀴즈를 통하여 학습한 내용을 다시한번 생각해 봅니다.