안녕하세요! 가족과 함께하는 스마트 라이프입니다. 드디어 자바스크립트 연금술 시리즈인 ‘PHP 마법 학교 2기’의 마지막 시간이 되었습니다! 그동안 우리는 색을 바꾸고, 계산을 하고, 조건에 따라 판단하며 데이터를 가방에 담는 법을 배웠죠. 오늘은 이 모든 조각 마법들을 하나로 묶어 언제든 꺼내 쓸 수 있는 ‘종합 주문서(함수 심화)’를 완성해 보겠습니다!
![PHP 마법 학교 2기 10강: [완결] 나만의 마법 도서관, '함수로 만드는 종합 주문서'](https://blog.igarim.com/wp-content/uploads/2026/03/blog_image_141746123_0.jpg)
1. 함수(Function)란 무엇인가요? ‘마법 주문서’
우리가 매번 길게 주문을 외울 필요 없이, “아브라카다브라!” 한마디에 불꽃이 튀고 노래가 나오게 할 수 있다면 얼마나 편할까요? 함수는 여러 줄의 코드를 하나의 이름 아래 묶어두는 마법 주문서와 같아요. 한 번 잘 적어두면 이름만 불러도 복잡한 마법이 척척 실행된답니다.
2. 종합 마법 주문서 작성하기 (코드)
사용자의 이름과 점수를 받아 등급을 매기고 화면에 멋지게 출력해주는 종합 함수를 만들어 봅시다.
<!DOCTYPE html>
<html>
<body>
<h2>📜 마법사 자격 시험 결과</h2>
<input type="text" id="wiz_name" placeholder="이름">
<input type="number" id="wiz_score" placeholder="점수">
<button onclick="issue_report()">결과지 출력!</button>
<div id="report_card" style="margin-top:20px; padding:20px; border:5px double silver;"></div>
<script>
// 이것이 바로 종합 주문서(함수)예요!
function issue_report() {
let name = document.getElementById("wiz_name").value;
let score = Number(document.getElementById("wiz_score").value);
let result_area = document.getElementById("report_card");
let grade = "";
// 1. 판단 마법 (조건문)
if (score >= 90) { grade = "최고위 마법사"; }
else if (score >= 70) { grade = "중급 마법사"; }
else { grade = "수습 마법사"; }
// 2. 출력 마법 (DOM 조작)
result_area.innerHTML = "<h3>" + name + " 마법사님의 성적표</h3>" +
"<p>점수: " + score + "점</p>" +
"<p>최종 등급: <b>" + grade + "</b></p>";
// 3. 연금술 마법 (스타일 변경)
if (grade === "최고위 마법사") { result_area.style.background = "gold"; }
else { result_area.style.background = "white"; }
}
</script>
</body>
</html>
3. 입력(Parameter)과 출력(Return)
함수는 마치 자판기 같아요.
1. 입력: 동전과 버튼(재료)을 넣으면
2. 처리: 안에서 기계가 윙윙 돌아가며 음료수를 준비하고
3. 출력: 시원한 캔(결과)이 툭 튀어나오죠.
함수라는 주문서를 하나 잘 만들어두면, 재료만 바꿔서 수만 번이고 똑같은 효과를 낼 수 있답니다.
![PHP 마법 학교 2기 10강: [완결] 나만의 마법 도서관, '함수로 만드는 종합 주문서'](https://blog.igarim.com/wp-content/uploads/2026/03/blog_image_141922912_1.jpg)
4. 아이들과 함께하는 ‘마법 레시피’ 놀이
아이와 함께 ‘라면 끓이기 레시피’를 적어보세요. 1. 물 끓이기, 2. 면 넣기, 3. 스프 넣기… 이 전체 과정을 ‘라면 마법’이라는 이름의 함수로 부르기로 약속하는 거죠. 나중에 배가 고플 때 긴 설명 대신 “라면 마법 실시!”라고 외치게 해보세요. 복잡한 절차를 하나의 이름으로 압축하는 추상화(Abstraction)의 개념을 아주 쉽게 이해하게 됩니다.
마치며: 자바스크립트 연금술사 졸업!
축하합니다! PHP 마법 학교 1기(서버)와 2기(화면)를 모두 마쳤습니다. 이제 여러분은 서버에서 데이터를 가져오고, 그 데이터를 화면에서 화려하게 움직이게 할 수 있는 ‘풀스택(Full-stack) 마법사’의 기초를 닦았습니다. 여러분의 홈페이지가 이제는 진짜 살아있는 생물처럼 느껴지지 않나요? 다음 시리즈에서는 더 깊고 신비로운 마법으로 다시 만나요!



