๋ฐ์ํ java51 [Java-๊ธฐ์ด] ์๋ฐ ์ ์ถ๋ ฅ (Stream) โถ ์๋ฐ ์ ์ถ๋ ฅ โ *์คํธ๋ฆผ์ด๋? ์๋ฐ์์ ๋ชจ๋ ์ ์ถ๋ ฅ์ ์คํธ๋ฆผ(stream)์ ํตํด ์ด๋ฃจ์ด์ง๋ค. ์ ์ถ๋ ฅ ์ฅ์น๋ ๋งค์ฐ ๋ค์ํ๊ธฐ ๋๋ฌธ์ ์ฅ์น์ ๋ฐ๋ผ ์ ์ถ๋ ฅ ๋ถ๋ถ์ ์ผ์ผ์ด ๋ค๋ฅด๊ฒ ๊ตฌํ์ ํ๋ฉด ํ๋ก๊ทธ๋จ ํธํ์ฑ์ด ๋จ์ด์ง ์ ๋ฐ์ ์๋ค. ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋ฐ๋ ์ ์ถ๋ ฅ ์ฅ์น์ ๋ฌด๊ดํ๊ณ ์ผ๊ด์ฑ ์๊ฒ ํ๋ก๊ทธ๋จ์ ๊ตฌํํ ์ ์๋๋ก ์ผ์ข ์ ๊ฐ์ ํต๋ก์ธ ์คํธ๋ฆผ์ ์ ๊ณตํ๋ค. โ โ โ *์ ๋ ฅ·์ถ๋ ฅ ์คํธ๋ฆผ ์คํธ๋ฆผ์ ๋จ๋ฐฉํฅ์ผ๋ก ์๋ฃ๊ฐ ์ด๋ํ๊ธฐ ๋๋ฌธ์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋์์ ํ ์ ์๋ค. ์ ๋ ฅ ์๋ฃ์ ์ด๋์ด ์ถ๋ ฅ ์๋ฃ์ ์ด๋๊ณผ ํ ์คํธ๋ฆผ์์ ๋์์ ์ผ์ด๋ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ข ๋ฅ ์์ ์ ๋ ฅ ์คํธ๋ฆผ FileInputStream, FileReader, BufferedInputStream, BufferedReader ๋ฑ ์ถ๋ ฅ .. 2021. 2. 22. [Java-๊ธฐ์ด] ์์ธ ์ฒ๋ฆฌ ๋ฏธ๋ฃจ๊ธฐ โโถ ์์ธ ์ฒ๋ฆฌ ๋ฏธ๋ฃจ๊ธฐ โ *์์ธ ์ฒ๋ฆฌ๋ฅผ ๋ฏธ๋ฃจ๋ throws ์ฌ์ฉํ๊ธฐ ์์ธ๋ฅผ ํด๋น ๋ฉ์๋์์ ์ฒ๋ฆฌํ์ง ์๊ณ ๋ฏธ๋ฃฌ ํ ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ ์ฌ์ฉํ๋ ๋ถ๋ถ์์ ์์ธ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ. -15ํ์ ์ค๋ฅ๊ฐ ๋ฌ๋ค -์ด๊ฑธ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ 1. ์ฌ๋ฌ ์์ธ๋ฅผ ํ๋ฒ์ ์ฒ๋ฆฌํ๊ธฐ 2. ์์ธ ์ํฉ๋ง๋ค ์ฒ๋ฆฌํ๊ธฐ 3. throws ๋ฉ์๋ ์ถ๊ฐํ๊ธฐ (์์ธ ์ฒ๋ฆฌ ๋ฏธ๋ฃจ๊ธฐ) ๊ถ์ฅ ์ฌํญ์ ์๋. ์์ธ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์๋๋ผ ๋๋ถ๋ถ์ ํ๋ก๊ทธ๋จ์ด ๋น์ ์ ์ข ๋ฃ๋จ. ๊ฐ ์๋ค. โ โ โ *๋ค์ค ์์ธ ์ฒ๋ฆฌ ์ฌ๋ฌ catch๋ฌธ์ ํ๊บผ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ๊ฐ catch ๋ธ๋ก์ ๊ฐ๊ฐ์ ์์ธ ์ฒ๋ฆฌ๋ฅผ ๋ด๋นํ๋ค. ์ด๋ค ์์ธ๊ฐ ๋ฐ์ํ ์ง ๋ฏธ๋ฆฌ ์์ ์์ง๋ง ๋ชจ๋ ์์ธ ์ํฉ์ ์ฒ๋ฆฌํ๊ณ ์ ํ๋ค๋ฉด ๋งจ ๋ง์ง๋ง ๋ถ๋ถ์ Exception ํด๋์ค๋ฅผ ํ์ฉํ์ฌ catch ๋ธ๋ก์ ์ถ๊ฐํ.. 2021. 2. 22. [Java-๊ธฐ์ด] try-with-resources๋ฌธ โถ try-with-resources๋ฌธ โ -AutoCloseable ์ธํฐํ์ด์ค try-with-resources ๋ฌธ๋ฒ์ ์ฌ์ฉํ๋ ค๋ฉด ํด๋น ๋ฆฌ์์ค๊ฐ AutoCloseable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํด์ผ ํ๋ค. AutoCloseable ์ธํฐํ์ด์ค์๋ close( ) ๋ฉ์๋๊ฐ ์๊ณ ์ด๋ฅผ ๊ตฌํํ ํด๋์ค๋ close( )๋ฅผ ๋ช ์์ ์ผ๋ก ํธ์ถํ์ง ์์๋ close( ) ๋ฉ์๋ ๋ถ๋ถ์ด ํธ์ถ๋๋ค. โ โ AutoCloseObj.java package exception; public class AutoCloseObj implements AutoCloseable { @Override public void close() throws Exception { System.out.println("๋ฆฌ์์ค๊ฐ close() ๋์์ต๋๋ค."); }.. 2021. 2. 22. [Java-๊ธฐ์ด] ์ปดํ์ผ๋ฌ์ ์ํด ์์ธ๊ฐ ์ฒดํฌ๋๋ ๊ฒฝ์ฐ โถ ์ปดํ์ผ๋ฌ์ ์ํด ์์ธ๊ฐ ์ฒดํฌ๋๋ ๊ฒฝ์ฐ ์ปดํ์ผ๋ฌ์ ์ํด ์ฒ๋ฆฌ๋๋ ๋ง์ ์์ธํด๋์ค๋ค์ ์๋ฐ์์ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ์ง ์์ผ๋ฉด ์ปดํ์ผ ์ค๋ฅ๊ฐ ๊ณ์ ๋จ๋ ๊ฒ์ด ๋ง๋ค. โ โ *ํ์ผ ์ ์ถ๋ ฅ์์ ๋ฐ์ํ๋ ์์ธ ์ฒ๋ฆฌํ๊ธฐ ์๋ฐ์์ ํ์ผ์ ์ฝ๊ณ ์ฐ๋ ๋ฐ ์คํธ๋ฆผ(stream) ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ค. package exception; import java.io.FileInputStream; import java.io.FileNotFoundException; public class ExceptionHandling1 { public static void main(String[] args) { try { FileInputStream fis = new FileInputStream("a.txt"); } catch (FileNotFoundE.. 2021. 2. 22. [Java-๊ธฐ์ด] ์์ธ ํด๋์ค โถ ์์ธ ํด๋์ค โ *์ค๋ฅ๋? ํ๋ก๊ทธ๋จ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ์ํฉ์ ๋ ๊ฐ์ง์ด๋ค. 1. ํ๋ก๊ทธ๋จ ์ฝ๋ ์์ฑ ์ค ์ค์๋ก ๋ฐ์ํ๋ ์ปดํ์ผ ์ค๋ฅ ์ปดํ์ผ ์ค๋ฅ๋ ๊ฐ๋ฐ ํ๊ฒฝ์์ ๋๋ถ๋ถ ์์ธ์ ์ ์ ์๋ค. 2. ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ด ์๋ํ์ง ์์ ๋์์ ํ๊ฑฐ๋ ํ๋ก๊ทธ๋จ์ด ์ค์ง๋๋ ์คํ ์ค๋ฅ ์คํ ์ค๋ฅ ์ค ํ๋ก๊ทธ๋จ์ ์๋ชป ๊ตฌํํ์ฌ ์๋ํ ๋ฐ์ ๋ค๋ฅด๊ฒ ์คํ๋์ด ์๊ธฐ๋ ์ค๋ฅ๋ฅผ '๋ฒ๊ทธโ'๋ผ๊ณ ํ๋ค. โ โ โ *์ค๋ฅ์ ์์ธ ์คํ ์ค๋ฅ๋ ํฌ๊ฒ ๋ ๊ฐ์ง๊ฐ ์๋๋ฐ, ํ๋๋ ์๋ฐ ๊ฐ์ ๋จธ์ ์์ ๋ฐ์ํ๋ ์์คํ ์ค๋ฅ(error)์ด๊ณ ๋ค๋ฅธ ํ๋๋ ์์ธ(exception)์ด๋ค. ์์คํ ์ค๋ฅ์ ์๋ก๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๋์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ๋ ์คํ ๋ฉ๋ชจ๋ฆฌ์ ์ค๋ฒํ๋ก๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋ฑ์ ๋ค ์ ์๋ค. → ์ด๋ฐ ์์คํ ์ค๋ฅ๋ ํ๋ก๊ทธ๋จ์์ ์ ์ด.. 2021. 2. 22. [Java-๊ธฐ์ด] ์คํธ๋ฆผ โถ ์คํธ๋ฆผ โ *์คํธ๋ฆผ์ด๋? ์ฌ๋ฌ ์๋ฃ์ ์ฒ๋ฆฌ์ ๋ํ ๊ธฐ๋ฅ์ ๊ตฌํํด ๋์ ํด๋์ค๊ฐ ์คํธ๋ฆผ(stream)์ด๋ค. ์คํธ๋ฆผ์ ํ์ฉํ๋ฉด ๋ฐฐ์ด, ์ปฌ๋ ์ ๋ฑ์ ์๋ฃ๋ฅผ ์ผ๊ด์ฑ ์๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค. ์๋ฃ์ ๋ฐ๋ผ ๊ธฐ๋ฅ์ ๊ฐ๊ฐ ์๋ก ๊ตฌํํ๋ ๊ฒ์ด ์๋๋ผ ์ฒ๋ฆฌํด์ผ ํ๋ ์๋ฃ๊ฐ ๋ฌด์์ธ์ง์ ์๊ด์์ด ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ฉ์๋๋ฅผ ํธ์ถํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. โ -๋ฐฐ์ด ์ถ๋ ฅ๋ฌธ int[] arr = {1, 2, 3, 4, 5}; for(int i = 0; i System.out.println(n)); ์คํธ๋ฆผ์ ์์ฑํ๊ณ ๋ฏธ๋ฆฌ ๊ตฌ.. 2021. 2. 22. ์ด์ 1 2 3 4 5 6 7 8 9 ๋ค์ ๋ฐ์ํ