
우선 버퍼의 기본 개념을 숙지하자.
버퍼를 왜 사용하는가?
버퍼를 사용하지 않을 시 키보드에서 입력이 되는 동사애 입력이 동시에 전달 되는데
하드 디스크와 외부 장치와의 입출력은 시간이 꽤 걸리는 작업이다.
쉽게 말해서 여러번 왔다갔다 하는 것 보다 한번에 모아서 처리하는게 효율적이다.
(+ 버퍼는 CPU 내부에 있는 캐시메모리 보다는 느리지만 보조 기억 장치보다 훨씬 빠른 주기억 장치(RAM) 를 이용합니다. 보조기억장치는 주기억장치의 버퍼로 마련해둔 공간에 데이터를 열심히 보내 쌓아 둡니다. CPU는 처리가 빠르므로 밀려있는 다른일을 처리한 후 시간이 남을때 가끔 버퍼를 확인하여 데이터가 모두 쌓였는지 확인하고 모두 쌓였다면 가져다 한꺼번에 처리합니다.)
BufferedReader/BufferedWriter 간단 사용법..
입력
1. import java.io.을 선언한다. (io 라이브러리 선언 )
2. BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 버퍼리더 객체 생성
3. 입력받을 String이나 을 생성 후 br.readLine() 메소드로 입력을 받는데 try exception 으로 예외처리를 꼭한다. 이유는 exception이 발생 할 수 있고 사용자가 직접 처리해주어야한다.
(추가.. 알 것)
StringBuffer 는 메소드체이닝 방식을 사용한다.
=자기 자신을 리턴하며 계속해서 자신의 메소드를 호출하는 방식
ex) append() 메소드를 통해 문자열을 추가하면 추가됨과 동시에 추가 된 문자열을 더하여 자신을 리턴함.
지바 i/o는 데코레이터 패턴을 사용함 = 객체의 추가적인 기능을 동적으로 첨가하는 방식 서브클래스를 만드는 통해 기능을 유연하게 확장함.
ex) BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
참조: https://jhnyang.tistory.com/92, 프로그래머스 java 중급,