๋ฐ์ํ Java107 [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. [Java-๊ธฐ์ด] ๋๋ค์ โถ ๋๋ค์ *ํจ์ํ ํ๋ก๊ทธ๋๋ฐ๊ณผ ๋๋ค์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ค์๋ ํจ์์ ๊ตฌํ๊ณผ ํธ์ถ๋ง์ผ๋ก ํ๋ก๊ทธ๋จ์ ๋ง๋ค ์ ์๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ด ์๋ค. ์ด๋ฅผ 'ํจ์ํ ํ๋ก๊ทธ๋๋ฐ'์ด๋ผ๊ณ ํ๋ค. ์๋ฐ์์ ์ ๊ณตํ๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ '๋๋ค์'์ด๋ผ๊ณ ํ๋ค. โ โ โ *๋๋ค์ ๊ตฌํํ๊ธฐ ๋๋ค์์ ๊ฐ๋จํ ์ค๋ช ํ๋ฉด ํจ์ ์ด๋ฆ์ด ์๋ ์ต๋ช ํจ์๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค. โ โ *๋๋ค์ ๋ฌธ๋ฒ ์ดํด๋ณด๊ธฐ โ -๋งค๊ฐ๋ณ์ ์๋ฃํ๊ณผ ๊ดํธ ์๋ตํ๊ธฐ -์ค๊ดํธ ์๋ตํ๊ธฐ -return ์๋ตํ๊ธฐ โ โ โ *๋๋ค์ ์ฌ์ฉํ๊ธฐ โ MyNumber.java package lambda; public interface MyNumber { int getMax(int num1, int num2); // ์ถ์ ๋ฉ์๋ ์ ์ธ } TestMyNumber.java pack.. 2021. 2. 22. [Java-๊ธฐ์ด] ๋ด๋ถ ํด๋์ค โถ ๋ด๋ถ ํด๋์ค *๋ด๋ถ ํด๋์ค ์ ์์ ์ ํ → ์ฃผ๋ก ๋ณด์์ชฝ์์ ๋ง์ด ์ฐ์ ๋ด๋ถ ํด๋์ค๋ ๋ง ๊ทธ๋๋ก 'ํด๋์ค ๋ด๋ถ์ ์ ์ธํ ํด๋์ค'์ด๋ค. ๋ด๋ถ์ ํด๋์ค๋ฅผ ์ ์ธํ๋ ์ด์ ๋ ๋๊ฐ ์ด ํด๋์ค์ ์ธ๋ถ ํด๋์ค๊ฐ ๋ฐ์ ํ ๊ด๋ จ์ด ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ํ ๊ทธ ๋ฐ์ ๋ค๋ฅธ ํด๋์ค์ ํ๋ ฅํ ์ผ์ด ์๋ ๊ฒฝ์ฐ์ ๋ด๋ถ ํด๋์ค๋ก ์ ์ธํด์ ์ฌ์ฉํ๋ค. ์ธ์คํด์ค ๋ด๋ถ ํด๋์ค, ์ ์ (static) ๋ด๋ถ ํด๋์ค, ์ง์ญ(local) ๋ด๋ถ ํด๋์ค๊ฐ ์๋๋ฐ, ์ด๊ฒ์ ํด๋์ค ๋ด๋ถ์ ์ ์ธํ๋ ๋ณ์์ ์ ํ(์ธ์คํด์ค ๋ณ์, ์ ์ ๋ณ์, ์ง์ญ ๋ณ์)๊ณผ ์ ์ฌํ๋ค. ๋ง์ง๋ง์ผ๋ก ํด๋์ค ์ด๋ฆ ์์ด ์ ์ธํ๊ณ ๋ฐ๋ก ์์ฑํ์ฌ ์ฌ์ฉํ ์ ์๋ ์ต๋ช (anonymous) ๋ด๋ถ ํด๋์ค๊ฐ ์๋ค. โ โ โ *์ธ์คํด์ค ๋ด๋ถ ํด๋์ค ์ธ์คํด์ค ๋ด๋ถ ํด๋์ค๋ ์ธ์คํด์ค ๋ณ์๋ฅผ ์ ์ธํ ๋์.. 2021. 2. 22. ์ด์ 1 2 3 4 5 6 7 ยทยทยท 18 ๋ค์ ๋ฐ์ํ