I/O란? Input/Output으로 데이터를 입출력하는 것을 의미 데이터를 전달하는 방법은 다양한데 그 중에서 스트림(Stream), 버퍼(Buffer), 채널(Channel)을 기반으로 하는 I/O가 있다. Stream(스트림) 스트림은 데이터를 전달하는 통로를 의미하는데 단방향으로 밖에 데이터를 전달할 수 없다. 즉, 데이터가 들어온 순서대로 데이터를 출력하는 단방향 통로이다. 또한 데이터를 읽고 쓰기 위해 스트림을 요청하면 스트림은 해당 데이터의 작업을 수행하는 동안 다른 데이터는 스트림에 접근하지 못하고 기다리는 동기화, Blocking방식으로 동작한다. 위처럼 i값을 순서대로 하나씩 출력하는 방식을 stream방식으로 동작한다라고 한다. Buffer(버퍼) Buffer는 데이터를 임시로 한 곳..