..

Search

5) iostream

5) iostream

iostream


C++ 표준 입출력 클래스

사용자가 프로그램과 대화하기 위해서는 사용자와 프로그램 사이의 입출력을 담당하는 수단이 필요합니다.

C++의 모든 것은 객체로 표현되므로, 입출력을 담당하는 수단 또한 C언어의 함수와는 달리 모두 객체입니다.

 

C언어의 printf() 함수나 scanf() 함수처럼 C++에서도 iostream 헤더 파일에 표준 입출력 클래스를 정의하고 있습니다.

C++에서는 cout 객체로 출력 작업을, cin 객체로 입력 작업을 수행하고 있습니다.

 

또한, C++에서는 기존의 C언어 스타일처럼 printf() 함수나 scanf() 함수로도 입출력 작업을 수행할 수 있습니다.

 

아직 클래스나 객체에 대해 자세히 배우기 전이지만, 앞으로 배우게 될 대부분의 예제를 이해하기 위해서는 표준 입출력 객체에 대해 먼저 살펴볼 필요가 있습니다.

cout 객체

cout 객체는 다양한 데이터를 출력하는 데 사용되는 C++에서 미리 정의된 출력 스트림을 나타내는 객체입니다.

 

cout 객체를 사용하는 문법은 다음과 같습니다.

문법

std::cout << 출력할데이터;

 

삽입 연산자(<<)는 오른쪽에 위치한 출력할 데이터를 출력 스트림에 삽입합니다.

이렇게 출력 스트림에 삽입된 데이터는 스트림을 통해 출력 장치로 전달되어 출력됩니다.

 

예제

 

cout << "C++ 수업에 오신 것을 환영합니다!";

 

코딩연습 ▶

실행 결과

C++ 수업에 오신 것을 환영합니다!

 

C언어를 공부한 학생들은 삽입 연산자(<<)가 C언어의 왼쪽 시프트 연산자(<<)와 같은 모양임을 알 수 있을 것입니다.
이것은 C++의 연산자 오버로딩을 활용한 것으로 나중에 다시 살펴볼 것입니다.

cin 객체

cin 객체는 다양한 데이터를 입력받는 데 사용되는 C++에서 미리 정의된 입력 스트림을 나타내는 객체입니다.

 

cin 객체를 사용하는 문법은 다음과 같습니다.

문법

std::cin >> 저장할변수;

 

추출 연산자(>>)를 통해 사용자가 입력한 데이터를 입력 스트림에서 추출하여, 오른쪽에 위치한 변수에 저장합니다.

이때 cin 객체는 자동으로 사용자가 입력한 데이터를 오른쪽에 위치한 변수의 타입과 동일하게 변환시켜 줍니다.

 

예제

#include <iostream>

using namespace std;

 

int main()

{

    int age;

 

    cout << "여러분의 나이를 입력해 주세요 : ";

    cin >> age;

 

    cout << "여러분의 나이는 " << age << "살 입니다." << endl;

    return 0;

}

실행 결과

여러분의 나이를 입력해 주세요 : 15

여러분의 나이는 15살 입니다.

 

여러분의 나이를 입력해 주세요 : 열다섯

여러분의 나이는 0살 입니다.

 

위의 예제에서 여러분이 입력한 데이터는 자동으로 정수를 저장할 때 사용하는 타입으로 변환될 것입니다.

만약에 문자열을 입력하면 cin 객체는 변수 age에 숫자가 아니라는 의미인 0을 전달할 것입니다.


C언어 표준 입출력 함수와의 차이점

C언어 표준 입출력 함수인 printf() 함수나 scanf() 함수와 C++ 표준 입출력 객체와의 차이점은 다음과 같습니다.

 

1. 삽입 연산자(<<)와 추출 연산자(>>)가 데이터의 흐름을 나타내므로 좀 더 직관적입니다.

2. C++ 표준 입출력 객체는 입출력 데이터의 타입을 자동으로 변환시켜주므로 더욱 편리하고 안전합니다.


연습문제