๐ Do it! ์๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ
์๋ฐ ์ ์ถ๋ ฅ๊ณผ ์คํธ๋ฆผ
1. ์คํธ๋ฆผ
- ์๋ฐ๋ ์ ์ถ๋ ฅ ์ฅ์น์ ๋ฌด๊ดํ๊ณ ์ผ๊ด์ฑ ์๊ฒ ํ๋ก๊ทธ๋จ์ ๊ตฌํํ ์ ์๋๋ก ์ผ์ข ์ ๊ฐ์ ํต๋ก์ธ ์คํธ๋ฆผ์ ์ ๊ณต
- ์๋ฃ๋ฅผ ์ฝ์ด ๋ค์ด๋ ค๋ ์์ค(source)์ ์๋ฃ๋ฅผ ์ฐ๋ ค๋ ๋์(target)์ ๋ฐ๋ผ ๊ฐ๊ฐ ๋ค๋ฅธ ์คํธ๋ฆผ ๊ธ๋์ค๋ฅผ ์ ๊ณต
- ์ ์ถ๋ ฅ ๊ธฐ๋ฅ: ํ์ผ ๋์คํฌ, ํค๋ณด๋, ๋ชจ๋ํฐ, ๋ฉ๋ชจ๋ฆฌ ์ ์ถ๋ ฅ, ๋คํธ์ํฌ ๋ฑ
2. ์ ๋ ฅ ์คํธ๋ฆผ๊ณผ ์ถ๋ ฅ ์คํธ๋ฆผ
- ์คํธ๋ฆผ์ ๋จ๋ฐฉํฅ์ผ๋ก ์๋ฃ๊ฐ ์ด๋ํ๊ธฐ ๋๋ฌธ์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋์์ ํ ์ ์์
- ์ ๋ ฅ ์คํธ๋ฆผ: InputStream์ด๋ Reader๋ก ๋๋๋ ์ด๋ฆ์ ํด๋์ค
- ์ถ๋ ฅ ์คํธ๋ฆผ: OutputStream์ด๋ Writer๋ก ๋๋๋ ์ด๋ฆ์ ํด๋์ค
3. ๋ฐ์ดํธ ๋จ์ ์คํธ๋ฆผ๊ณผ ๋ฌธ์ ๋จ์ ์คํธ๋ฆผ
- ์๋ ์๋ฐ์ ์คํธ๋ฆผ์ ๋ฐ์ดํธ ๋จ์๋ก ์๋ฃ์ ์ ์ถ๋ ฅ์ด ์ด๋ฃจ์ด์ง
- ์๋ฐ์์ ํ๋์ ๋ฌธ์๋ฅผ ๋ํ๋ด๋ charํ์ 2๋ฐ์ดํธ์ด๊ธฐ ๋๋ฌธ์ 1๋ฐ์ดํธ๋ง ์ฝ์ผ๋ฉด ํ๊ธ ๊ฐ์ ๋ฌธ์๋ ๊นจ์ง
- ์ ์ถ๋ ฅ ์ค ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ์๋ฃ์ธ ๋ฌธ์๋ฅผ ์ํด ๋ฌธ์ ์คํธ๋ฆผ์ ๋ณ๋๋ก ์ ๊ณต
- ๋ฐ์ดํธ ์คํธ๋ฆผ: Stream์ผ๋ก ๋๋๋ ์ด๋ฆ์ ํด๋์ค
- ๋ฌธ์ ์คํธ๋ฆผ: Reader๋ Writer๋ก ๋๋๋ ์ด๋ฆ์ ํด๋์ค
4. ๊ธฐ๋ฐ ์คํธ๋ฆผ๊ณผ ๋ณด์กฐ ์คํธ๋ฆผ
- ๊ธฐ๋ฐ ์คํธ๋ฆผ: ์ฝ์ด๋ค์ผ ๊ณณ(์์ค)์ด๋ ์จ์ผํ ๊ณณ(๋์)์์ ์ง์ ์ฝ๊ณ ์ธ ์ ์์ผ๋ฉฐ ์ ์ถ๋ ฅ ๋์์ ์ง์ ์ฐ๊ฒฐ๋์ด ์์ฑ๋๋ ์คํธ๋ฆผ
- ๋ณด์กฐ ์คํธ๋ฆผ: ์ง์ ์ฝ๊ณ ์ฐ๋ ๊ธฐ๋ฅ์ ์์ผ๋ฉฐ ํญ์ ๋ค๋ฅธ ์คํธ๋ฆผ์ ํฌํจํ์ฌ ์์ฑ๋จ
์๋ฐ ์คํธ๋ฆผ ํด๋์ค ์ด๋ฆ์์ ์คํธ๋ฆผ ํน์ฑ ์ ์ถํ๊ธฐ
ex) FileInputStream
- InputStream = ์ ๋ ฅ ์คํธ๋ฆผ
- Stream = ๋ฐ์ดํธ ๋จ์๋ก ์ฒ๋ฆฌ
- File = ์ง์ ์ฝ๊ณ ์ฐ๋ ๊ธฐ๋ฐ ์คํธ๋ฆผ
ํ์ค ์ ์ถ๋ ฅ
1. Scanner ํด๋์ค
- java.util ํจํค์ง์ ์๋ ์ ๋ ฅ ํด๋์ค
- ๋ฌธ์๋ฟ ์๋๋ผ ์ ์, ์ค์ ๋ฑ ๋ค๋ฅธ ์๋ฃํ๋ ์ฝ์ ์ ์์
- ์ฝ์ ํ๋ฉด๋ฟ ์๋๋ผ ํ์ผ์ด๋ ๋ฌธ์์ด์ ์์ฑ์์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ ์๋ฃ๋ฅผ ์ฝ์ด์ฌ ์ ์์
- Scanner scanner = new Scanner(System.in)
์์ธ ํด๋์ค
1. ์ค๋ฅ์ ์์ธ
- ์คํ์ค๋ฅ: ์์คํ ์ค๋ฅ(error), ์์ธ(exception)
- ์ค๋ฅ๋ ํ๋ก๊ทธ๋จ์์ ์ ์ดํ ์ ์์ง๋ง ์์ธ๋ ์ ์ด ๊ฐ๋ฅ
- ์์ธ: ํ๋ก๊ทธ๋จ์์ ํ์ผ์ ์ฝ์ด ์ฌ์ฉํ๋ ค๋๋ฐ ํ์ผ์ด ์๋ ๊ฒฝ์ฐ, ๋คํธ์ํฌ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ค๋๋ฐ ์ฐ๊ฒฐ์ด ์ ๋ ๊ฒฝ์ฐ, ๋ฐฐ์ด ๊ฐ์ ์ถ๋ ฅํ๋ ค๋๋ฐ ๋ฐฐ์ด ์์๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฑ
- ์ค๋ฅ ํด๋์ค๋ ๋ชจ๋ Throwable ํด๋์ค์์ ์์๋ฐ์
2. ์์ธ ํด๋์ค์ ์ข ๋ฅ
- ์ ์ถ๋ ฅ ์์ธ ์ฒ๋ฆฌ(IOException)
- ์คํ ์ค๋ฅ ์์ธ ์ฒ๋ฆฌ(RuntimeException)
'์ค๊ณต์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
231115 ์ค๊ณต์ (0) | 2023.11.16 |
---|---|
231105 ์ค๊ณต์ (0) | 2023.11.05 |
231101 ์ค๊ณต์ (0) | 2023.11.02 |
231031 ์ค๊ณต์ (0) | 2023.11.01 |
231030 ์ค๊ณต์ (0) | 2023.10.31 |