BufferedWriter vs System.out.println() ์ฑ๋ฅ ๋น๊ต
BufferedWriter vs System.out.println() ์ฑ๋ฅ ๋น๊ต์ ๋ํ์ฌ ์์๋ณธ ๊ธ์ ๋๋ค.
์๋ฐ์์ ์ถ๋ ฅ์ ๋ด๋นํ๋ ๋ํ์ ์ธ ํด๋์ค์ธ BufferedWriter์ System.out.println()์ ๋ด๋ถ์ ์ผ๋ก ์๋ก ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๋์ํฉ๋๋ค.
BufferedWriter
BufferedWriter๋ ์ถ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๋ฒํผ์ ์ ์ฅํ ํ, ์ผ์ ํฌ๊ธฐ๊ฐ ๋๊ฑฐ๋ flush()๊ฐ ํธ์ถ๋ ๋ ํ ๋ฒ์ ์ถ๋ ฅํฉ๋๋ค.
์ด ๋ฐฉ์์ ์ฌ๋ฌ ๋ฒ์ ์์ ์ถ๋ ฅ ์์ ์ ํ ๋ฒ์ ํฐ ์์ ์ผ๋ก ํฉ์ณ์ ์ฑ๋ฅ์ ์ต์ ํํ๋ ์ญํ ์ ํฉ๋๋ค.
์ฅ์
- ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ ๋ ์ฑ๋ฅ์ด ๋ฐ์ด๋จ
- ๋ถํ์ํ I/O ํธ์ถ์ ์ค์ฌ CPU ์์์ ์ ์ฝ
๋จ์
- flush()๋ฅผ ํธ์ถํด์ผ ์ถ๋ ฅ์ด ๋จ
- ์ ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ ๊ฒฝ์ฐ, ์คํ๋ ค ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ ์๋ ์์
System.out.println()
System.out.println()์ ๋ด๋ถ์ ์ผ๋ก PrintStream์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฆ์ ์ถ๋ ฅํฉ๋๋ค.
ํ์ง๋ง ์ด PrintStream๋ ๋ด๋ถ์ ์ผ๋ก ๋ฒํผ๋ง์ ์ ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์, ๊ฐ๋จํ ์ถ๋ ฅ์์๋ BufferedWriter๋ณด๋ค ๋น ๋ฅด๊ฒ ๋์ํ ์๋ ์์ต๋๋ค.
์ฅ์
- ์ฆ๊ฐ์ ์ธ ์ถ๋ ฅ ๊ฐ๋ฅ
- ์ ์ ์์ ๋ฐ์ดํฐ ์ถ๋ ฅ ์ ๋น ๋ฆ
๋จ์
- ๋๋์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ณตํด์ ์ถ๋ ฅํ๋ฉด ์ฑ๋ฅ ์ ํ ๋ฐ์ ๊ฐ๋ฅ
- BufferedWriter์ฒ๋ผ ์ฑ๋ฅ ์ต์ ํ๊ฐ ์๋์ผ๋ก ์ด๋ฃจ์ด์ง์ง ์์
๊ฒฐ๋ก
์ถ๋ ฅ ๋ฐ์ดํฐ ์์ด ์ ์ ๊ฒฝ์ฐ BufferedWriter๋ฅผ ์ฌ์ฉํ๋ฉด System.out.println()๋ณด๋ค ์ฑ๋ฅ์ด ๋จ์ด์ง ์ ์์ต๋๋ค.
๋ฒํผ๋ง์ ์ฅ์ ์ ๊ฑฐ์ ํ์ฉํ์ง ๋ชปํ์ฑ๋ก flush()๋ฅผ ํธ์ถํ๋ ๋ถํ์ํ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.