Java에서 사용되는 System.out의 경우 default는 console로 지정이 되어있습니다.

System.out은 System클래스의 static instance로써 PrintStream object 입니다.

따라서 이 System.out을 다른 PrintStream으로 바꿔준다면, System.out을 console이 다른 곳에 출력하도록 할 수 있을 것입니다.

만약 System.out을 잔뜩 사용해서 화면에 log를 출력하던 프로그램이 있는데

화면에 출력하는 방식이 아닌 파일로 출력하는 방식으로 바꾸어야 한다면

기존에 사용했던 System.out을 하나하나 파일로 쓰는 코드로 변환할 필요없이

System.out 자체를 다른 PrintStream으로 간단하게 변경하여

기존의 모든 코드를 수정하는 번거로움을 피할 수 있습니다.



위의 코드에서는

System.out은 console로 두고 System.err은 로그파일로 두어서

기본적인 내용은 화면에 출력하고, 중요한 에러들은 로그파일에 출력하도록 한 것입니다.