728x90
훌륭한 질문이에요! #include <stdio.h>와 #include <iostream>은 모두 입출력 기능을 제공하는 헤더 파일이지만, 사용하는 방식과 철학이 다릅니다. 아래에 차이점을 정리해드릴게요:
🔍 핵심 차이점 요약
항목 | #include | #include |
언어 스타일 | C 스타일 | C++ 스타일 |
주요 기능 | printf(), scanf() 등 함수 기반 | cout, cin 등 객체 기반 스트림 |
자료형 처리 | 포맷 문자열 사용 (%d, %s) | 타입 자동 처리 (<<, >> 연산자) |
확장성/유지보수 | 제한적 | 객체지향적, 확장성 높음 |
네임스페이스 필요 | 없음 | std:: 네임스페이스 필요 |
🧩 예시 비교
✅ stdio.h 방식 (C 스타일)
#include <stdio.h>
int main() {
int age;
printf("나이를 입력하세요: ");
scanf("%d", &age);
printf("당신의 나이는 %d살입니다.\n", age);
return 0;
}
✅ iostream 방식 (C++ 스타일)
#include <iostream>
using namespace std;
int main() {
int age;
cout << "나이를 입력하세요: ";
cin >> age;
cout << "당신의 나이는 " << age << "살입니다." << endl;
return 0;
}
🎭 비유로 이해하기
- stdio.h는 전화기 다이얼을 돌려서 통화하는 방식이에요. 정확한 포맷을 알아야 하고, 실수하면 통화가 안 돼요.
- iostream은 스마트폰에서 이름만 눌러서 전화하는 방식이에요. 더 직관적이고, 다양한 기능을 쉽게 확장할 수 있어요.
💡 언제 어떤 걸 써야 할까?
- C 프로그램 또는 레거시 코드 유지보수 → stdio.h
- C++ 프로젝트, 객체지향 설계, 모던 코드 작성 → iostream
둘 다 입출력을 위한 도구지만, C++에서는 iostream이 훨씬 더 자연스럽고 강력한 선택이에요.
728x90