버퍼와 스트림은 파일을 읽거나 쓸 때 사용하는 방식이다.
용향이 큰 데이터를 전송할 때 한 번에 전송하지 않고 특 정 단위 만큼 자르고 묶어서 전송을 하기 위해 사용되는 개념이다.
버퍼의 크기만큼 데이터를 순차적으로 버퍼에 담아서 전송한다.
버퍼는 숫자의 배열이고 메모리의 데이터를 가리키며 데이터의 바이트 그 자체이다.
버퍼를 하나씩 전송하는 중간 다리 역할이다.
잘개 나누어진 버퍼 데이터를 조금씩 보내준것을 스트리밍이라고 한다.
(이미지 출처: https://tcpschool.com/cpp/cpp_io_streamBuffer)
간단하게 말하면 버퍼는 데이터를 잘개 쪼갠 단위! 스트림은 버퍼를 전송하기 위한 연결통로 정도라고 생각하면 될 것 같다.