nextInt()
, next()
, nextLine()
등의 메서드를 사용하여 각각의 타입에 맞게 데이터를 입력받을 수 있다.Scanner
는 기본 타입 외에도 BigInteger
, BigDecimal
과 같은 큰 숫자 타입도 처리할 수 있다.Scanner
는 공백이나 개행문자를 기본적으로 구분자로 인식하므로, 공백으로 구분된 여러 개의 입력을 편리하게 처리할 수 있다.BufferedReader
는 내부 버퍼를 사용하여 입력을 처리하기 때문에 대량의 입력을 빠르게 처리할 수 있다.BufferedReader
의 readLine()
메서드를 사용하면 한 줄을 통째로 읽어올 수 있으므로, 공백이 포함된 문자열을 처리하기 용이하다.BufferedReader
를 사용할 때는 입출력 예외 처리를 직접 해주어야 한다.따라서 입출력 속도가 중요하거나 공백이 포함된 문자열을 처리해야 할 때는 BufferedReader
를 사용하는 것이 좋다. 반면에 간단하고 편리한 입력 처리가 필요하거나 다양한 타입의 입력을 처리해야 할 때는 Scanner
를 사용하는 것이 좋다.