1. 단원 요약
- 스트림은 순서가 있는 일련의 데이터가 이동하는 통로이다.
- 스트림을 이용하면 데이터나 목적지의 특성에 대해 독립적으로 프로그래밍이 가능하다.
- 스트림의 끝에는 파일, 주변기기, 소켓, 배열, 프로세스 등이 위치할 수 있다.
- 스트림을 통해 바이트, 문자, 객체가 이동할 수 있다.
- java.io에는 바이트 단위, 그리고 2바이트 단위로 처리가 가능한 스트림이 존재한다.
- Byte 단위 처리 최상위 추상클래스: InputStream, OutputStream
- 파일 입출력용 서브클래스: FileInputStream, FileOutputStream
- 2Bytes 단위 처리 최상위 추상클래스: Reader, Writer
- 파일 입출력용 서브클래스: FileReader, FileWriter
- Byte 단위 처리 최상위 추상클래스: InputStream, OutputStream
- 보조 스트림 클래스는 기본 스트림을 통해 받은(또는 보낼) 데이터에 대한 추가 기능을 제공한다.
- 기본 스트림 클래스 앞에 "Buffered"가 붙은 클래스는 버퍼링 기능을 제공한다.
- 예) BufferedInputStream, BufferedReader
2. 연습문제 요약
- System.in은 InputStream의 서브클래스이다.
- System.out은 PrintStream의 서브클래스이다.
- Java API 문서는 docs.oracle.com/javase/8/docs/api에서 찾아볼 수 있다.
Java Platform SE 8
docs.oracle.com