더북(TheBook)

2.7.2 버퍼와 스트림

파일을 읽거나 쓰는 방식에는 크게 두 가지 방식, 즉 버퍼를 이용하거나 스트림을 이용하는 방식이 있습니다. 버퍼링과 스트리밍이라는 용어를 들어본 적이 있나요? 아마 인터넷으로 영상을 시청할 때 두 용어를 본 적이 있을 겁니다. 영상을 로딩하고 있을 때는 버퍼링한다고 하고, 영상을 실시간으로 송출할 때는 스트리밍한다고 합니다.

버퍼링은 영상을 재생할 수 있을 때까지 데이터를 모으는 동작이고, 스트리밍은 방송인의 컴퓨터에서 시청자의 컴퓨터로 영상 데이터를 조금씩 전송하는 동작입니다. 스트리밍하는 과정에서 버퍼링을 할 수도 있습니다. 전송이 너무 느리면 화면을 내보내기까지 최소한의 데이터를 모아야 하고, 영상 데이터가 재생 속도보다 빨리 전송되어도 미리 전송받은 데이터를 저장할 공간이 필요하기 때문입니다.