ren+gin+eer
java io 본문
java io 가 두려웠던 이유
* 어떤 클래스를 사용해야 할지 모르겠다.
* 읽을 파일의 상대 위치 지정이 어려웠다.
* 생성자에 어떤 클래스를 선언해야 할지 모르겠다.
* 인스턴스 생성을 중첩으로 해서 복잡했다.
* 자주 사용할 일이 없다고 생각했으나 네트웍 또한 IO 이다.
BufferedReader br = new BufferedReader(new FileReader(new File("file.txt")));
java io 를 알아보니
* 생성자와 상속관계를 이해해야 한다.
* byte 타입(Input/OutputStream) 과 character 타입(Reader/Writer)으로 나뉜다.
* 기능의 확장/다양성을 위해 Decorator Pattern 을 사용했다.
* 어느 클래스가 Decorator 인지 구분하기가 어려웠다. (생성자가 부모 클래스 이면 Decorator 라고 봐도 되는지 모르겠다)
* IO가 발생하는 데이터 타입에 따라 효율적인 Class 선택이 필요하고 각 케이스에 따른 테스트가 필요하다.
* IO 개발 작업이 흔치는 않기 때문에 레퍼런스를 보며 개발해야 할 것 같다. (공부안한 것도 아니고 한 것도 아닌 기분에 뜨뜨미지근하다)
* Buffered*를 잘 활용해야 겠다.