Language/Java
59
Throws (์์ธ ์ฒ๋ฆฌ ๋ฏธ๋ฃจ๊ธฐ)
Throws ํด๋น ๋งค์๋์์ ์ผ์ด๋ ์ ์๋ ์์ธ๋ฅผ ์์ฒด์ ์ผ๋ก ํด๊ฒฐ ์ํ๊ณ , ๋ ๋ชฐ๋ผ๋ผ ํ๊ณ ๋ฐ์ผ๋ก ๋์ง๋ ๋ช
๋ น์ด ๋งค์๋๋ฅผ ํธ์ถํ ์ชฝ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํ๋ค. ์ฑ
์์ ๊ฐํ๋ ๋ช
๋ น์ด ๋งค์๋๋ฅผ ํธ์ถํ ์ชฝ์์ ๋ throws ์ฐ๋ฉด, ๊ทธ๋ฅ ํ๋ก๊ทธ๋จ ํผ์ ธ๋ ์ฑ
์ ์ ์ง๊ฒ ๋ค๋ ์๋ฆฌ์. import java.io.FileWriter; import java.io.IOException; public class _07_Throws { public static void main(String[] args) { // ํธ์ถํ ๋ฉ์ธ ๋งค์๋์์ ํด๊ฒฐํ๊ฑฐ๋, ์ฌ๊ธฐ์๋ throws๋ก ๋๋ชฐ๋ผ๋ผ ํ๊ฑฐ๋ // ๋ฉ์ธ ๋ฉ์๋์์๋ throws๋ก ๋์ง๋ฉด ๊ทธ๋ฅ ๋ฌธ์ ์๊ธฐ๋ ๊ฑฐ ๊ฐ์ํ๊ณ ๋๋ฆฌ๊ฒ ๋จ ์๋ฆฌ์. try { writeFile(); } catc..
2023.03.02
Language/Java
์ฌ์ฉ์ ์ ์ ์์ธ
์์ธ๋ฅผ ํญ์ throw new Exception(" ์์ธ ๋ฐ์ ์ ํ๊ณ ์ถ์ ๋ง"); ๋ก ํ๋ค๋ฉด, ๋ง์ง๋ง catch ๊ตฌ๋ฌธ์์ ํ ์ผ์ด ๋๋ฌด ๋ง๋ค. Exception์ด๋ ํน์ ์ ์ด์ง ์๊ณ ๋ชจ๋ ๊ฑธ ํฌ๊ดํ๋ ์์ธ์ ๋์ก๊ธฐ ๋๋ฌธ์, ()์์ ๋ง์ด ์๋๋ฉด ๋ฌด์จ ์ด์ ๋์ ์์ธ๊ฐ ์ผ์ด๋ฌ๋์ง ์๊ธฐ๋ ์ฝ์ง ์๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๊ฐ ์ง์ ํน์ ์๊ฐ์๋ง ์๋ํ๋ ์์ธ ํด๋์ค๋ฅผ ๋ง๋ค๊ณ ๊ทธ ์์ธ ๊ฐ์ฒด๋ฅผ ์ด์ฉํ์ฌ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ ๋ ค๊ณ ํ๋ค. public class _06_CustomException { public static void main(String[] args) { // ์ฌ์ฉ์ ์ ์ ์์ธ int age = 17; try { if(age < 19){ // System.out.println("๋ง 19์ธ ๋ฏธ๋ง์๊ฒ๋ ํ๋งคํ์ง ์์ต..
2023.03.02
Language/Java
Try with Resources
1. ์ค๋ช
AutoClosable์ด๋ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค์ ๊ฐ์ฒด๋ฅผ try๊ตฌ๋ฌธ ()์์์ ์์ฑ ํ์ ๋๋ฅผ ๊ฐ์ ํ๋ค. ํด๋น ๊ฐ์ฒด๊ฐ try catch ๊ตฌ๋ฌธ์ ๋ค ์ง๋๊ฐ์ผ๋ฉด, try ๊ตฌ๋ฌธ์ด ์๋์ผ๋ก close ๋งค์๋๋ฅผ ํธ์ถํ์ฌ close์ ๊ธฐ๋ฅ์ ์ํํ๊ฒ ํ๋ค. ํด๋น ์คํฌ์ ํด๋์ค๊ฐ AutoClosable์ด๋ผ๋ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํ ํด์ผ๋ง ์ธ ์ ์๋ค. 2. ์ฝ๋ ๋ฆฌ๋ทฐ import java.io.BufferedWriter; public class _05_TryWithResources { public static void main(String[] args) { // close ๊ตฌ๋ฌธ๋ ์์ธ์ฒ๋ฆฌ๊ฐ ํ์ํด์ // try-catch-finally ๊ตฌ๋ฌธ ์์ ๋ try catch ๊ตฌ๋ฌธ์ด ๋ค์ด๊ฐ ๊ฑธ ๋ณผ ์ ์๋ค. MyF..
2023.02.28
Language/Java
Finally ๊ตฌ๋ฌธ
1. ์ค๋ช
์์ธ ๊ตฌ๋ฌธ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฑด ๋ง๊ฑด ์์ธ์ฒ๋ฆฌ ํ ๋ฌด์กฐ๊ฑด ์คํํด์ผํ๋ ์ฝ๋๋ฅผ ์ ์ด ๋๋ ๊ตฌ๋ฌธ 2. ์ฝ๋๋ฆฌ๋ทฐ public class _04_Finally { public static void main(String[] args) { try{ System.out.println("ํ์์ ๋ฌธ์ ์ฐ๋ค."); throw new Exception("ํด๋ฌด ํ์"); // System.out.println("ํ์์ ํ์นํ๋ค."); // ์์ธ๋ฅผ ๋์ง๋ ๋ฌธ์ฅ ์ฃผ์ ์ฒ๋ฆฌ ํ๊ณ ํ์๋ฅผ ํ์นํ๋ค๋ ์ ์ ์ถ๋ ฅ๋ฌธ์ด ๋์๋ finally ๊ตฌ๋ฌธ ์คํ } catch (Exception e) { System.out.println("!! ๋ฌธ์ ๋ฐ์: " + e.getMessage()); } finally { System.out.pri..
2023.02.28
Language/Java
Throw
1. ์ ์ ์ผ๋ถ๋ฌ ์์ธ๋ฅผ ๋ฐ์ ์ํค๋ Keyword (1)ํํ // ๋ด๊ฐ Catch ์ชฝ์ผ๋ก ๋์ง ์๋ก์ด ์์ธ ๊ฐ์ฒด ์์ฑ throw new Exception("๋ฌด์จ ์๋ฌ์ธ์ง ์ค๋ช
"); // throw์์ ๋์ง ์์ธ ๊ฐ์ฒด๋ Catch์์ ๋ฐ์์ ์ฒ๋ฆฌํ๋ค. 2. ์ฝ๋ ๋ฆฌ๋ทฐ public static void main(String[] args) { //๋์ด๊ฐ 19์ธ ๋ฏธ๋ง์ผ ๊ฒฝ์ฐ ์์ธ ์ฒ๋ฆฌ. int age = 17; try { if(age < 19){ throw new Exception("๋ง 19์ธ ๋ฏธ๋ง์๊ฒ๋ ํ๋งคํ์ง ์์ต๋๋ค."); } else { System.out.println("์ฃผ๋ฌธํ์ ์ํ ์ฌ๊ธฐ ์์ต๋๋ค."); } }catch (Exception e){ //์ค๋ฅ๊ฐ ๋ฌด์์ธ์ง ๋ณด์ฌ์ฃผ๋ ์์ธ ๊ฐ์ฒด ๋งค์๋ e.p..
2023.02.24
Language/Java
์ค๋ฅ์ ๋ฐ๋ฅธ ๋ง์ถค ์์ธ ์ฒ๋ฆฌ
1. ๊ฐ๋ณ ์์ธ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ Exception ํด๋์ค๋ ๋ชจ๋ ์์ธ๋ค์ ์กฐ์ ํด๋์ค ์ด๋ค. ๊ทธ๋์ ๋ชจ๋ ์์ธ๋ฅผ ๋คํ์ฑ์ ์๋ฆฌ์ ์ํด ๋ค ๋ฐ์ ์ ์์๋ ๊ฒ์ด๋ค. catch์ () ์์ ์์ธ๋ณ๋ก ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด์ฃผ๋ฉด, ํด๋น ์์ธ๊ฐ ๋ฐ์ ํ์ ์์๋ง ๋ฐ๋ํ๋ ์์ธ ์ฒ๋ฆฌ ๊ตฌ๋ฌธ์ ๋ง๋ค ์ ์๋ค. // ๋ฐฐ์ด ์ธ๋ฑ์ค๋ฅผ ๋ฒ์ด๋ ๊ณณ์ ๋ํ ์์ค ์คํ์ ํ ๊ฒฝ์ฐ์ ์์ธ์ฒ๋ฆฌ๋ฌธ, // ์๋ชป๋ ํ๋ณํ์ด ์ผ์ด๋ฌ์ ๊ฒฝ์ฐ์ ์์ธ์ฒ๋ฆฌ๋ฌธ์ ๋ฐ๋ก ๋์๋ค. // ๋งจ ๋ง์ง๋ง์ ๋๋จธ์ง ์์ธ๋ค์ ๋ํ ์ผ๊ด ์ฒ๋ฆฌ์ด๋ค. catch (ArrayIndexOutOfBoundsException e){ System.out.println("์ธ๋ฑ์ค๋ฅผ ์๋ชป ์ค์ ํ์ด์."); } catch (ClassCastException e) { System.out.println(..
2023.02.23
Language/Java
Run-Time(๋ฐํ์) ์ค๋ฅ์ ์์ธ ์ฒ๋ฆฌ
1. ๋ฐํ์ ์ค๋ฅ๋? (1)๋ฐํ์์ค๋ฅ์ ์ปดํ์ผ ์ค๋ฅ ๋น๊ต ์ข
๋ฅ ์ปดํ์ผ ์๋ฌ ๋ฐํ์ ์๋ฌ ๋ป ์์ค์ฝ๋๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ฐ๊ฟ ๋ (์ปดํ์ผ ์) ์ผ์ด๋๋ ์๋ฌ. ๋๊ฒ ๋ฌธ๋ฒ์ ์ค๋ฅ๋ก ์ธํด ์ผ์ด๋๋ค. ์ฝ๋ ์คํ ๋์ค์ ์ผ์ด๋๋ ์๋ฌ ์ฝ๋๊ฐ ๋ฌธ๋ฒ์ ์ผ๋ก ๋ง์ ๋์ง๋ง, ๋
ผ๋ฆฌ์ ์ผ๋ก ๋ง์ด ์๋ ๋ ์ผ์ด๋๋ค. Run ํ์ ์ ์ ์ด์ ๋ฌธ๋ฒ์ ์ผ๋ก ํ๋ ค์ Run ์กฐ์ฐจ ์๋๋ค. ๋ฐํ์ ์ค๋ฅ ์์ ์ ํ๋ก๊ทธ๋จ์ ์ฝ๋๋ฅผ ๋๊น์ง ์คํํ์ง ๋ชปํ๊ณ ์ข
๋ฃ๋๋ค. (๋ฐํ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ง์ ์์ ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ๋๋ค.) ์์ int i = "๋ฌธ์์ด"; (์ ์ด์ ๋ง์ด ์๋๋ ๊ตฌ์กฐ) int[] arr = new int[3]; arr[5] = 100; ํด๋น ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ 3์ด๋ฏ๋ก, 5์ ๊ฐ์ ์ง์ด ๋ฃ์ ์ ์๊ธฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ์ฝ๋ ํ ์ค ํ ์ค์ ๋ฌธ๋ฒ..
2023.02.23
Language/Java
[JAVA] Stream ์ค์ต
1. ์ฝ๋๋ฆฌ๋ทฐ // "python", "java", "javascript","c","c++","c#" // C๋ก ์์ํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ถ์ถ /*.startsWith()๋ String ํด๋์ค์ ๋งค์๋๋ก์ ()์์ ๊ฐ์ด ๋ฌธ์์ด์ ์๋์ง๋ฅผ boolean์ผ๋ก ๋ฐํ .filter()๋ ()์์ ์กฐ๊ฑด์ ๋ง๋ ์์๋ง ๊ณจ๋ผ์ ๋ง๋ ์ ์คํธ๋ฆผ์ ๋ฐํ */ Arrays.stream(langs).filter(x-> x.startsWith("c")).forEach(System.out::println); System.out.println("-----------------------------------------"); // java ๋ผ๋ ๊ธ์๋ฅผ ํฌํจํ๋ ์ธ์ด Arrays.stream(langs).filter(x-> x.co..
2023.02.19
Language/Java