"์๋ ํ์ธ์, Amigo! ์ค๋ ์ฐ๋ฆฌ๋ ์ ๋ ฅ/์ถ๋ ฅ ์คํธ๋ฆผ ์ ๋ํด ์๊ฒ ๋ ๊ฒ์ ๋๋ค . ์ฐ๋ฆฌ๋ ๋ฉฐ์น ์ ์ ์ด ์ฃผ์ ๋ฅผ ์ ํํ์ง๋ง ์ค๋์ ์ฒ ์ ํ ์ดํด๋ณผ ๊ฒ์ ๋๋ค. ์ ๋ ฅ/์ถ๋ ฅ ์คํธ๋ฆผ์ 4๊ฐ์ง ๋ฒ์ฃผ๋ก ๋๋ฉ๋๋ค."
1) ์คํธ๋ฆผ์ ๋ฐฉํฅ์ ๋ฐ๋ผ ์ ๋ ฅ ์คํธ๋ฆผ ๊ณผ ์ถ๋ ฅ ์คํธ๋ฆผ์ผ๋ก ๋๋ฉ๋๋ค.
2) ์คํธ๋ฆผ์ ๋ฐ์ดํฐ ์ ํ์ ๋ฐ๋ผ ๋ฐ์ดํธ ๋ก ์๋ํ๋ ์คํธ๋ฆผ๊ณผ ๋ฌธ์ ๋ก ์๋ํ๋ ์คํธ๋ฆผ์ผ๋ก ๋๋ฉ๋๋ค .
์ฌ๊ธฐ์์ ์ด๋ฌํ ๊ตฌ๋ถ์ด ํ์ ํ์๋ฉ๋๋ค.
์ ๋ ฅ ์คํธ๋ฆผ | ์ถ๋ ฅ ์คํธ๋ฆผ | |
---|---|---|
๋ฐ์ดํธ์ โโํจ๊ป ์๋ | ์ ๋ ฅ ์คํธ๋ฆผ | ์ถ๋ ฅ ์คํธ๋ฆผ |
์บ๋ฆญํฐ ์์ | ๋ฆฌ๋ | ์๊ฐ |
๊ฐ์ฒด๊ฐ InputStream ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ๊ฒฝ์ฐ ํด๋น ๊ฐ์ฒด์์ ๋ฐ์ดํธ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ฝ๋ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค.
๊ฐ์ฒด๊ฐ OutputStream ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ๊ฒฝ์ฐ ๋ฐ์ดํธ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ฐ๋ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค.
๊ฐ์ฒด๊ฐ Reader ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ๊ฒฝ์ฐ ํด๋น ๊ฐ์ฒด์์ ๋ฌธ์(๋ฌธ์)๋ฅผ ์์ฐจ์ ์ผ๋ก ์ฝ๋ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค.
๊ฐ์ฒด๊ฐ Writer ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ๊ฒฝ์ฐ ๊ฐ์ฒด์ ๋ฌธ์(๋ฌธ์)๋ฅผ ์์ฐจ์ ์ผ๋ก ์ฐ๋ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค.
์ถ๋ ฅ ์คํธ๋ฆผ์ ํ๋ฆฐํฐ์ ๊ฐ์ต๋๋ค. ๋ฌธ์๋ฅผ ํ๋ฆฐํฐ๋ก ์ถ๋ ฅํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅ ์คํธ๋ฆผ์ผ๋ก ์ถ๋ ฅํ ์ ์์ต๋๋ค.
๊ทธ ๋ถ๋ถ์์ ์ ๋ ฅ ์คํธ๋ฆผ์ ์ค์บ๋ ๋๋ ์ ๊ธฐ ์ฝ์ผํธ์ ๋น๊ตํ ์ ์์ต๋๋ค. ์ค์บ๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฌธ์๋ฅผ ์ปดํจํฐ๋ก ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ๋๋ ์ ๊ธฐ ์ฝ์ผํธ์ ์ฐ๊ฒฐํ์ฌ ์ ๊ธฐ๋ฅผ ๊ณต๊ธ๋ฐ์ ์ ์์ต๋๋ค. ์ ๋ ฅ ์คํธ๋ฆผ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค.
"๊ทธ๋ค์ ์ด๋์ ์ฌ์ฉ๋ฉ๋๊น?"
" ์ด ํด๋์ค๋ Java์ ๋ชจ๋ ๊ณณ์์ ์ฌ์ฉ๋ฉ๋๋ค. ์น์ํ ์น๊ตฌ์ธ System.in์ System ํด๋์ค์ ์ด๋ฆ ์ด ์ง์ ๋ ์ ์ InputStream ๋ณ์ ์ ๋๋ค ."
"์ง์ฌ์ด์ผ?! ๊ทธ๋์ ์ง๊ธ๊น์ง ๋๋ InputStream์ ์ฌ์ฉํด ์์ง๋ง ๊นจ๋ซ์ง๋ ๋ชปํ๋ค. System.out๋ ์คํธ๋ฆผ์ธ๊ฐ?"
"์, System.out์ System ํด๋์ค์ ์ ์ PrintStream ( OutputStream ์ ์์ ) ๋ณ์์ ๋๋ค."
"๋น์ ์ ๋ด๊ฐ ํญ์ ์คํธ๋ฆผ์ ์ฌ์ฉํ๊ณ ์์๊ณ ๊ทธ๊ฒ์ ๋ชฐ๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๊น?"
"์, ์ด ์คํธ๋ฆผ์ด ์ผ๋ง๋ ํธ๋ฆฌํ์ง ์ ์ ์์ต๋๋ค. ํ๋๋ฅผ ๊ฐ์ ธ์ ์ฌ์ฉํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค."
"ํ์ง๋ง System.in์ ๋ํด์๋ ๊ทธ๋ ๊ฒ ๋งํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋์์์ด BufferedReader ๋๋ InputStreamReader๋ฅผ ์ถ๊ฐํด์ผ ํ์ต๋๋ค."
"๊ทธ๋ ์ต๋๋ค. ํ์ง๋ง ๊ทธ๋ด๋งํ ์ด์ ๋ ์์์ต๋๋ค."
๋ง์ ๋ฐ์ดํฐ ์ ํ๊ณผ ๋ค์ํ ์์ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ํ์ค I/O ํด๋์ค์ ์๋ ๋ชจ๋ ์์ ์ ๊ฑฐ์ ๋์ผํ ๋ฐฉ์์ผ๋ก ์ํํ์ง๋ง ๋งค์ฐ ๋น ๋ฅด๊ฒ ์ฆ๊ฐํ์ต๋๋ค. ์ด๋ฌํ ๋ณต์ก์ฑ์ ํผํ๊ธฐ ์ํด Java ๊ฐ๋ฐ์๋ ์ถ์ํ ์์น์ ์ฌ์ฉํ๊ณ ํด๋์ค๋ฅผ ๋ง์ ์์ ๋ถ๋ถ์ผ๋ก ๋๋์์ต๋๋ค.
๊ทธ๋ฌ๋ ํ์ํ ๊ฒฝ์ฐ ์ด๋ฌํ ๋ถ๋ถ์ ์ผ๊ด๋ ๋ฐฉ์์ผ๋ก ์ฐ๊ฒฐํ๊ณ ๋งค์ฐ ๋ณต์กํ ๊ธฐ๋ฅ์ ์ป์ ์ ์์ต๋๋ค. ์ด ์๋ฅผ ์ดํด๋ณด์ญ์์ค.
์ฝ์์ ๋ฌธ์์ด ์ถ๋ ฅ |
|
์ฝ์ ์ถ๋ ฅ ์คํธ๋ฆผ์ ๋ณ๋์ ๋ณ์์ ์ ์ฅํฉ๋๋ค. ์คํธ๋ฆผ์ ๋ฌธ์์ด์ ์ถ๋ ฅํฉ๋๋ค. |
|
๋ฉ๋ชจ๋ฆฌ์ ๋์ (ํ์ฅ) ๋ฐ์ดํธ ๋ฐฐ์ด์ ๋ง๋ญ๋๋ค. ์ ์ถ๋ ฅ ์คํธ๋ฆผ(PrintStream ๊ฐ์ฒด)์ ์ฐ๊ฒฐํฉ๋๋ค. ์คํธ๋ฆผ์ ๋ฌธ์์ด์ ์ถ๋ ฅํฉ๋๋ค. |
|
"์์งํ ์ด๊ฒ์ ๋ ๊ณ ์ธํธ์ ๊ฐ์ต๋๋ค. ๋ค๋ง ์ด ์ฝ๋๊ฐ ๋ฌด์์ ํ๋์ง ๋ช ํํ์ง ์์ต๋๋ค."
"์ง๊ธ์ ๊ทธ๊ฒ์ ๋ํด ๊ฑฑ์ ํ์ง ๋ง์ญ์์ค. ๋ชจ๋ ๊ฒ์ ์ ํด์ง ์๊ฐ์ ์์ต๋๋ค."
์ด๊ฒ์ด ๋ด๊ฐ ๋น์ ์ด ๊ธฐ์ตํ๊ธฐ๋ฅผ ์ํ๋ ๊ฒ์ ๋๋ค: ํด๋์ค๊ฐ OutputStream ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ค๋ฉด, ๋น์ ์ ๊ทธ๊ฒ์ ๋ฐ์ดํธ๋ฅผ ์ธ ์ ์์ต๋๋ค. ์ฝ์์ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ๋ ๊ฒ๊ณผ ๊ฑฐ์ ๋์ผํฉ๋๋ค. ๊ทธ๊ฒ์ผ๋ก ํ๋ ์ผ์ ๊ทธ๊ฒ์ ์ฌ์ ์ ๋๋ค. "๋ ๊ณ ํคํธ"๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ ๊ฐ๋ณ ๋ถํ์ ๋ชฉ์ ์ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค. ๋ถํ ์ ํ์ ํญ์ด ๋์ด ๋ฉ์ง ๊ฒ์ ๋ง๋ค ์ ์๋ค๋ ์ฌ์ค์ ๊ด์ฌ์ ๊ฐ์ง๋๋ค.
"์์์ด. ๊ทธ๋ผ ์ด๋๋ถํฐ ์์ํ์ง?"