우선 첫 블로그 작성글로 IO를 선택한 이유는 코테에서 입력값, 출력값 제어를 위해
BufferedReader를 그렇게 써왔지만 해당 패키지에 대해서는 이해해보려는 시도를 해보지 않았기 때문이다.
물론 쓰는데에 어려움은 없으나 사용하면서 해당 패키지를 모른다는게 영 찝찝해서 첫번째 작성글로 선택하게되었다!
우선 패키지는 바이트단위 입출력과 문자단위 입출력으로 나뉜다.
inputStream, outputSteram = 바이트 단위 추상 클래스
Reader, Writer = 문자단위 추상 클래스
해당 추상클래스를 상속한것들밑에
데이터 인풋, 아웃풋스트림
bufferedReader
PrintWriter 등이 있다.
이렇게 클래스를 하나씩 장식하는것처럼 생성자에서 감싸서
새로운 기능을 계속 추가할수 있도록 클래스를 만드는 방식을
데코레이션 패턴이라고 한다.