1학년 대학 수업/C++ 프로그래밍

#include <stdio.h>과 #include <iostream>의 차

hawon6691 2025. 9. 11. 16:10
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

'1학년 대학 수업 > C++ 프로그래밍' 카테고리의 다른 글

주소연산자  (0) 2025.09.11
연산자의 종류  (0) 2025.09.11
전처리기  (0) 2025.09.11
c/c++ 나눗셈  (0) 2025.09.11
const란?  (0) 2025.09.11