**프레임워크(Framework)**란
👉 프로그램을 만들 때 기본 뼈대(틀)를 미리 만들어 둔 것입니다.
1️⃣ 프레임워크란 한마디로
> “개발자가 정해진 규칙 안에서 코드를 채워 넣으면
전체 프로그램이 자동으로 돌아가게 해주는 구조”
집을 예로 들면:
🧱 프레임워크 → 설계도 + 기둥 + 전기 배선
🧑💻 개발자 → 가구 배치, 인테리어
2️⃣ 왜 프레임워크를 쓰나?
✅ 개발 속도 향상
로그인, 보안, DB 연결 등 기본 기능 제공
✅ 유지보수 쉬움
구조가 정해져 있어서 협업에 유리
✅ 코드 품질 향상
검증된 구조 사용
✅ 보안 강화
SQL Injection, XSS 같은 공격 기본 방어
3️⃣ 프레임워크 vs 라이브러리
구분 프레임워크 라이브러리
제어권 프레임워크가 가짐 개발자가 가짐
구조 정해진 구조 필수 자유
예시 Spring, Laravel, Django jQuery, Axios
📌 핵심 차이
👉 프레임워크는 “흐름을 가져간다”
4️⃣ 프레임워크의 핵심 개념
🔹 IoC (제어의 역전)
“내가 호출 ❌ → 프레임워크가 호출 ⭕”
🔹 MVC 패턴
구성 역할
Model 데이터, DB 처리
View 화면(UI)
Controller 흐름 제어
5️⃣ 대표적인 프레임워크
🖥 백엔드
Spring (Java)
Laravel (PHP)
Django / FastAPI (Python)
Express / NestJS (Node.js)
🎨 프론트엔드
React
Vue
Angular
6️⃣ 프레임워크 사용 예시
❌ 프레임워크 없이
로그인, 라우팅, 보안 전부 직접 구현
⭕ 프레임워크 사용
규칙에 맞게 코드 작성
나머지는 자동 처리
7️⃣ 한 줄 요약
👉 프레임워크 = 개발을 빠르고 안정적으로 하기 위한 ‘프로그램 뼈대’