μλ¬μ μ’ λ₯
- μ»΄νμΌ μλ¬ (compile time error)
μ»΄νμΌ ν λ λ°μλλ μλ¬
μλͺ»λ λ¬Έλ²μ μ¬μ©νκ±°λ λ³μλ₯Ό μ μνμ§ μμ μνμμ μ¬μ©νλ λ± μ»΄νμΌ λ¨κ³μμ λ°μλλ λ¬Έλ²μ μλ¬ - λ°νμ μλ¬ (runtime error)
νλ‘κ·Έλ¨ μ€ν ν λ λ°μνλ μλ¬λ‘ μλ¬(error)μ μμΈ(exception)κ° μλ€
- error(μλ¬) : μμ€ν μ΄μμΌλ‘ λ°μλλ μλ¬. μμ€ν λ 벨μ μ¬κ°ν μ€λ₯μ΄λ―λ‘ μμ€ν μ λ³νλ₯΄ μ£Όμ΄ λ¬Έμ λ₯Ό μ²λ¦¬νλ κ²½μ°κ° μΌλ°μ . νλ‘κ·Έλ¨ μ€ν μ€ μλ¬κ° λ°μνλ©΄ νλ‘κ·Έλ¨μ΄ μ’ λ£
-exception(μμΈ) : νλ‘κ·Έλ¨ μ€ν μ€ λ°μλλ λΉμ μμ μΈ μν©μ μλ―Έ. νλ‘κ·Έλ¨ μ€ν μ€ μμΈκ° λ°μνλ©΄ νλ‘κ·Έλ¨μ΄ μ’ λ£ - λ Όλ¦¬μ μλ¬ : κ°λ°μκ° λ¬Έμ λΆμμ μλͺ»νκ±°λ μ€μμ μνμ¬ μλ±ν κ²°κ³Όλ₯Ό κ°μ Έμ€λ μλ¬
μμΈ(Exception)λ?
νλ‘κ·Έλ¨ μ€ν μ€ λ°μλλ λΉμ μμ μΈ μν©μ μλ―Έ
μ¬μ©μμ μλͺ»λ μ‘°μμ΄λ κ°λ°μμ μλͺ»λ μ½λ©μΌλ‘ μΈν΄ λ°μνλ λ°νμ μ€λ₯
0μΌλ‘ λλκ±°λ, λ°°μ΄μ 첨μλ₯Ό λ²μ΄λλ κ²½μ° λλ μ‘΄μ¬νμ§ μλ νμΌμ openνμ¬ μ½μ΄ λ€μ΄λ κ² λ±
νλ‘κ·Έλ¨ μ€ν μ€ μμΈκ° λ°μνλ©΄ νλ‘κ·Έλ¨μ΄ μ’ λ£
μμΈ μ²λ¦¬(Exception Handling)λ?
νλ‘κ·Έλ¨ μ€ν μ λ°μλ μ μλ μμΈμ λλΉνκΈ° μν μ½λλ₯Ό μμ±νλ κ²
μμΈμ²λ¦¬λ₯Ό ν΅νμ¬ νλ‘κ·Έλ¨μ λΉμ μ μ’ λ£λ₯Ό λ§κ³ μ μμ μΈ μ€ν μνλ₯Ό μ μ§νλ€.
μμΈ(Exception)μ μ’ λ₯
β checked exception
μ»΄νμΌ ν λ μ»΄νμΌλ¬μ μν΄ μ²΄ν¬λλ μμΈ. νλ‘κ·Έλ¨ μμ±μ μμΈμ²λ¦¬λ₯Ό λͺ μμ μΌλ‘ νμ§ μμΌλ©΄ μ»΄νμΌ μ€λ₯κ° λ°μ
β unchecked exception
μ»΄νμΌ ν λ 체ν¬λμ§ μμΌλ©°, λ°νμ μ λ°μλλ μμΈ

μμΈ(Exception) ν΄λμ€
β java.lang.Throwableν΄λμ€
Throwable ν΄λμ€λ μλ°μ λͺ¨λ μλ¬μ μμΈμ μνΌ ν΄λμ€

β java.lang.Exception ν΄λμ€
Throwable ν΄λμ€λ₯Ό μμ λ°μ νμ ν΄λμ€
Exception ν΄λμ€λ Exception ν΄λμ€λ₯Ό μμ λ°μ νμ ν΄λμ€λ RuntimeException ν΄λμ€λ₯Ό μ μΈνκ³ λͺ¨λ μ»΄νμΌ ν λ μμΈλ₯Ό 체ν¬νλ checked exception μ΄λ€. νλ‘κ·Έλ¨ μμ± μ λͺ μμ μΌλ‘ μμΈμ²λ¦¬λ₯Ό νμ§ μμΌλ©΄ μ»΄νμΌ μ€λ₯κ° λ°μ
Exception ν΄λμ€λ₯Ό μμ λ°μ μ£Όμ checked exception ν΄λμ€

β java.lang.RuntimeException ν΄λμ€
Exception ν΄λμ€λ₯Ό μμ λ°μ νμ ν΄λμ€. νλ‘κ·Έλ¨ μ€ν μ€ λ°μλλ λ°νμ μμΈ. RuntimeException ν΄λμ€λ RuntimeException ν΄λμ€λ₯Ό μμλ°μ unchecked exception.

βjava.lang.Error ν΄λμ€
Throwable ν΄λμ€λ₯Ό μμ λ°μ νμ ν΄λμ€. μ¬κ°ν μμΈμ ννλ‘ λ³΅μν μ μλ ννμ μλ¬. Error ν΄λμ€λ Error ν΄λμ€λ₯Ό μμ λ°μ ν΄λμ€λ unchecked errorμ΄λ€

βΆ μμΈ μ²λ¦¬ μ₯μ
- μμΈ λ°μμ λΉμ μμ μΈ νλ‘κ·Έλ¨ μ’ λ£λ₯Ό λ§κ³ νλ‘κ·Έλ¨ μ€ν μνλ₯Ό μ μ§
- νλ‘κ·Έλ¨μ μ€ν μ½λμ μλ¬λ₯Ό μ²λ¦¬νλ μ½λλ₯Ό λΆλ₯ν μ μλ€.
- λ©μλμ μ½ μ€ν(Call Stack)μ μλ¬λ₯Ό μ°¨λ‘λλ‘ λ³΄λΌ μ μλ€.
- μμΈ νμ μ μ’ λ₯λ³λ‘ λΆλ₯ν μ μλ€.
try ~ catch
try λ¬ΈμΌλ‘ μμμ΄ μ§μ λ λ¬Έμμ μμΈ μν©μ΄ λ°μνλ©΄, ν΄λΉ μμΈλ₯Ό μ²λ¦¬νλ catchλ¬Έ μͺ½μΌλ‘ λ겨 μ€λ₯μ κ΄ν μμΈ μν©μ μ²λ¦¬νλ€.

βΆtry λΈλ‘
μμΈλ₯Ό κ°μνκ³ μ νλ λ¬Έμ₯λ€μ tryλΈλ‘ λ΄μ κΈ°μ
μμΈκ° λ°μν κ²½μ° try λΈλ‘ λ΄μ λ¬Έμ₯ μ€νμ μ€μ§νκ³ ν΄λΉ μμΈμ catch λΈλ‘μ λ΄μ©μ μ€ννλ€.
βΆcatch λΈλ‘
μμΈκ° λ°μν κ²½μ° μ²λ¦¬ν λ¬Έμ₯μ κΈ°μ
catchλ¬Έμ Throwable ν΄λμ€λ₯Ό μμλ°λ μμΈ ν΄λμ€ νμ μ κ°μ§ νκ°μ μΈμλ₯Ό κ°λλ€. catch λΈλ‘μ μ¬λ¬ κ°κ° μ¬ μ μλ€. μμΈκ° try λΈλ‘μμ λ°μνλ©΄ catchλΈλ‘μ μμ°¨μ μΌλ‘ μ°Ύμ λ΄λ €κ°λ©΄μ ν΄λΉ μμΈλ₯Ό μ²λ¦¬νλ μμΈν΄λμ€μ μΈμλ₯Ό κ°μ§ catch λΈλ‘μ λ¬Έμ₯μ μννλ€. μ¬λ¬ κ°μ catchλ¬Έμ΄ μ‘΄μ¬ν κ²½μ° μμ°¨μ μΌλ‘ μμΈλ₯Ό λνλ΄λ μμ ν΄λμ€λ₯Ό λμ€μ λμ΄μΌ νλ€.
package ch09.unit01;
import java.util.Scanner;
/*
- μμΈκ° λ°μνμ§ μλ κ²½μ°
1) λΈλ‘ λͺ¨λ μ€ν
3) λΈλ‘ μ€ν - μ μ μ’
λ£
- μμΈκ° λ°μν κ²½μ°
1) λΈλ‘ μ€ν λμ€ μμΈ λ°μ - 1)λ² λΈλ‘ μ€νμ μ€μ§
2) λΈλ‘ μ€ν (μμΈκ° λ°μν κ²½μ°λ§ μ€ν)
3) λΈλ‘ μ€ν - μ μ μ’
λ£
*/
public class Ex02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a,b,c ;
try {
// 1) μμΈκ° λ°μν κ°λ₯μ±μ΄ μλ μ½λ κΈ°μ
System.out.println("λμ μ?");
a = sc.nextInt();
b = sc.nextInt();
c = a / b;
System.out.println(a + "/" + b + "=" + c);
} catch (Exception e) {
// Exception : λͺ¨λ μμΈλ₯Ό catch ν μ μμ§λ§ μμΈ μνλ³λ‘ μμΈλ₯Ό λΆλ¦¬ν μ μλ€
// 2) μμΈκ° λ°μν λ μ€νν μ½λ μμ±
System.out.println("νλ‘κ·Έλ¨ μ€νμ€ μμΈκ° λ°μ");
}
// 3)
System.out.println("end...");
sc.close();
}
}

package ch09.unit01;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ex03 {
public static void main(String[] args) {
// λ²νΌλ₯Ό μ΄μ©νμ¬ λ¬Έμ(μ΄)μ μ
λ ₯ λ°μ. μ
λ ₯ μλ ν₯μ
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// BufferedReader : λ¬Έμμ΄μ νλ²μ λ°μμμμ
// InputStreamReader:λ°μ΄νΈ μ€νΈλ¦Όμ λ¬Έμλ‘ κ³ μ³μ€
String s;
int a,b,c;
try {
System.out.print("첫λ²μ§Έ μ?");
s = br.readLine();
a = Integer.parseInt(s); // μ«μλ‘ λ°κΏμ€
System.out.print("λλ²μ§Έ μ?");
b = Integer.parseInt(br.readLine());
c = a/b;
System.out.printf("%d / %d = %d\n",a,b,c);
} catch (IOException e) { // Exception
// IOException : μν©λ³ μμΈ
//: μ
μΆλ ₯μ λ¬Έμ κ° λ°μν λ λ°μνλ μμΈ(checked exception)
//: checked exceptionμ λ©μλλ₯Ό λ§λ€λ throws ν μμΈ
// :checked exceptionμ μμΈμ²λ¦¬λ₯Ό νμ§ μμΌλ©΄ μ»΄νμΌμ μλ¬ λ°μ
e.printStackTrace();
}
// 0μΌλ‘ λλκ±°λ λ¬Έμμ΄μ μ
λ ₯ ν κ²½μ° λΉμ μ μ’
λ£ λμ΄ μλ λ©μμ§λ μΆλ ₯ μλλ€.
System.out.println("end...");
}
}

package ch09.unit01;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ex04 {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a, b, c;
try {
System.out.print("첫λ²μ§Έ μ?");
a = Integer.parseInt(br.readLine());
System.out.print("λλ²μ§Έ μ?");
b = Integer.parseInt(br.readLine());
c = a / b;
System.out.printf("%d / %d = %d\n", a, b, c);
// μμΈλ₯Ό μν©λ³λ‘ λΆλ¦¬
} catch (IOException e) { // checked μμΈ λ°λμ catch ν΄μΌν¨
e.printStackTrace();
} catch (NumberFormatException e) {
// unchecked μμΈ
// λ¬Έμμ΄μ μ«μλ‘ λ³ννμ§ λͺ»νλ κ²½μ° λ±μμ λ°μ
// λ°λμ catch ν νμλ μμ§λ§ catch νμ§ μμ κ²½μ°
// μμΈκ° λ°μνλ©΄ λΉμ μμ μΈ μ’
λ£κ° λ¨
System.out.println("μ«μλ§ μ
λ ₯ κ°λ₯ν©λλ€.");
// System.out.println(e.getMessage());//κ°λ¨ν λ©μμ§ μΆλ ₯, μλμ¬λλ μμ
// System.out.println(e.toString());// μμΈ μ’
λ₯ λ° λ©μμ§ μΆλ ₯
// e.printStackTrace(); // κ°μ₯ μμΈνκ² λμ΄
} catch (ArithmeticException e) {
// unchecked μμΈ
// μ«μλ₯Ό 0μΌλ‘ λλλλ± μ°μ°μ΄ λΆκ°λ₯ν κ²½μ°
System.out.println("0μΌλ‘ λλμ μμ΅λλ€");
} catch (Exception e) {
// Exception : λͺ¨λ μμΈλ₯Ό catch ν μ μλ€.
// μ¬λ¬ μμΈλ₯Ό catchν κ²½μ° Exceptionμ λ€λ₯Έ μμΈμ
// μμ ν΄λμ€μ΄λ―λ‘ κ°μ₯ λ§μ§λ§μ μμΉν΄μΌν¨
e.printStackTrace();
}
System.out.println("end...");
}
}

finally
λ° νμμ μμΈ λ°μ μ¬λΆμ μκ΄ μμ΄ λ°λμ μ€ν ν΄μΌ ν μ½λλ₯Ό finally λΈλ‘μ κΈ°μ νλ€. μμΈκ° λ°μνλ©΄ ν΄λΉ μμΈλ₯Ό μ²λ¦¬νλ catch λΈλ‘μ μ€ν ν ν finally λΈλ‘μ΄ μ€νλκ³ , μμΈκ° λ°μνμ§ μμμ κ²½μ°, try λΈλ‘μ μ€νμ΄ λλ λ€μ finally λΈλ‘μ΄ μ€νλλ€.
finally λΈλ‘μ μμΈκ° λ°μνκ±°λ λ°μνμ§ μμ κ²½μ°, break,continue,returnκ³Ό κ°μ λ¬Έμ₯μ ν΅ν΄μ λΈλ‘μ λΉ μ Έλκ° κ²½μ°μλ μ€νλλ©° 'System,exit(0);' λ¬Έμ₯μ΄ μλ κ²½μ°μλ§ finallyμ μ μννμ§ μκ³ νλ‘κ·Έλ¨μ΄ μ’ λ£λλ€.
- catch λΈλ‘μ΄ μμ΄ try ~ finally λΈλ‘λ§ μ‘΄μ¬ν μ μλ€.
- μμΈκ° μλ κ²½μ° μ²λ¦¬ μμ try λΈλ‘ → finally λΈλ‘ μ€ν
- μμΈκ° μλ κ²½μ° μ²λ¦¬ μμ try λΈλ‘ → catch λΈλ‘ → finally λΈλ‘ μ€ν


βΆtry ~ catch ~ finallyμ μν μμΈ μ²λ¦¬ κ³Όμ

package ch09.unit01;
import java.util.Scanner;
public class Ex06_finally {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] ss = new String[3];
int idx = 0;
String s;
try {
idx = 0;
System.out.println("λ¬Έμμ΄ μ
λ ₯[μ’
λ£:μ
λ ₯νμ§ μκ³ μν°]...");
while ((s = sc.nextLine()).length() != 0) {
ss[idx++] = s;
System.out.print("λ¬Έμμ΄ μ
λ ₯:");
}
} catch (ArrayIndexOutOfBoundsException e) {
// ArrayIndexOutOfBoundsException
// : unchecked exception
// : λ°°μ΄ μ μλ₯Ό λ²μ΄λ κ²½μ°
idx--;
System.out.println("μ
λ ₯μ μ΄κ³Ό νμ΅λλ€.");
} finally {
System.out.println("μμΈ λ°μ μ¬λΆμ μκ΄ μμ΄ μ€ν...");
sc.close();
}
System.out.println("\nμ
λ ₯ λ°μ λ¬Έμμ΄...");
for (int i = 0; i < idx; i++) {
System.out.println(ss[i]);
}
}
}

package ch09.unit01;
import java.util.Scanner;
public class Ex07 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a,b,c;
try {
System.out.print("λμ μ?");
a=sc.nextInt();
b=sc.nextInt();
c=a/b;
System.out.printf("%d / %d = %d\n",a,b,c);
} finally {
System.out.println("μμΈ μ 무μ μκ΄ μμ΄ μ€ν...");
sc.close();
}
System.out.println("end...");
}
}

package ch09.unit01;
public class Ex08 {
public static void main(String[] args) {
//divide(10,5);
//divide(10,0);
divide(10,-5);
}
public static void divide(int a, int b) {
try {
if (b < 0) {
System.out.println("μμλ₯Ό μ
λ ₯ νμ΅λλ€");
return;
//System.out.exit(0);
}
int c = a / b;
System.out.printf("%d/%d =%d\n", a, b, c);
} catch (ArithmeticException e) {
System.out.println("0μΌλ‘ λλ μ μμ΅λλ€.");
} finally {
//System.out.exit(0); // μ λ§λ λλ§ μ€ννμ§ μμ
System.out.println("finally λΈλ‘μ returnμ λ§λλ μ€ν...");
}
}
}

package ch09.unit01;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Ex09 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a, b, c;
try {
System.out.print("λμ?");
a = sc.nextInt();
b = sc.nextInt();
c = a / b;
System.out.printf("%d / %d = %d\n", a, b, c);
} catch (InputMismatchException e) {
System.out.println("μ«μλ§ μ
λ ₯ κ°λ₯ν©λλ€.");
} catch (ArithmeticException e) {
System.out.println("0μΌλ‘ λλμ μμ΅λλ€.");
} finally {
// finally λΈλ‘μ 리μμ€λ₯Ό λ«μλ λ§μ΄ μ¬μ©νλ€.
sc.close();
}
}
}

λͺ¨λ μμΈ μ²λ¦¬
- μμΈ μ²λ¦¬λ μμΈκ° λκ²¨μ§ κ°μ²΄μ catchλ¬Έμ μ μλ μμΈν΄λμ€ νμ κ³Ό μΌμΉν catch λΈλ‘μ μ²λ¦¬νλ€.
- νμ§λ§ catchκ° νΉμ κ°μ²΄μ κ΅νλμ§ μκ³ λͺ¨λ μμΈ μν©μ μ‘μ μ²λ¦¬νκΈ° μν΄ catchλ¬Έμμ Exception ν΄λμ€ λ§μΌλ‘ λͺ¨λ μμΈλ₯Ό μ²λ¦¬ν μ μλ€.

μ¬λ¬ μμΈ μ²λ¦¬
μλ° 7λΆν°λ νλμ catchλ¬Έμμ μ¬λ¬ μμΈλ₯Ό '|' μ°μ°μλ₯Ό μ΄μ©νμ¬ μ²λ¦¬ ν μ μλ€.

μλ 리μμ€ λ«κΈ°
μλ° 7λΆν°λ try - with - resourcesλ₯Ό μ¬μ©νλ©΄ μμΈ λ°μ μ¬λΆμ μκ΄μμ΄ μ¬μ©νλ 리μμ€ κ°μ²΄(μ μΆλ ₯ μ€νΈλ¦Ό,μμΌ,μ±λλ±) μ close() λ©μλλ₯Ό μλμΌλ‘ νΈμΆν΄μ μμ νκ² λ¦¬μμ€λ₯Ό λ«μ μ€λ€. μλ° 7μμλ try()μμ κ°μ²΄λ₯Ό μμ±ν΄μΌ νμ§λ§ μλ° 9λΆν°λ λ€μκ³Ό κ°μ΄ κ°μ²΄ μμ±λ¬Έ μμ΄ μμ±λ κ°μ²΄λ₯Ό λ£μ μ μλ€.

package ch09.unit01;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Ex10 {
public static void main(String[] args) {
int n;
String s;
// try ~ with ~ resource : μλμΌλ‘ resourceλ₯Ό close
try (Scanner sc = new Scanner(System.in)) {
System.out.println("λμ΄?");
n = sc.nextInt();
s = n >= 19 ? "μ±μΈ" : "λ―Έμ±λ
μ";
System.out.println(s);
} catch (InputMismatchException e) {
System.out.println("μ«μλ§ μ
λ ₯ κ°λ₯ ν©λλ€.");
}
System.out.println("end...");
}
}

throwsμ μμΈ λͺ μ
λ©μλ λ΄λΆμμ μμΈκ° λ°μν κ²½μ° try-catch λΈλ‘μΌλ‘ μμΈ μ²λ¦¬λ₯Ό νμ§λ§ λ©μλλ₯Ό νΈμΆν κ³³μΌλ‘ throwsλ₯Ό μ¬μ©ν΄μ μμΈλ₯Ό λκΈΈ μλ μλ€. νΈμΆν λ©μλμμ μμΈλ₯Ό μ²λ¦¬ν΄μΌ νλ κ²½μ°μ μ¬μ©νλ€.

throw
λ©μλμμ νΉμ 쑰건μ λ°λΌ throwλ₯Ό μ΄μ©νμ¬ μμΈλ₯Ό λͺ μμ μΌλ‘ λ°μ μν¨λ€. throwμ μν΄ λ°μλλ μμΈκ° RuntimeExceptionκ³Ό RuntimeExceptionμ νμ ν΄λμ€κ° μλ κ²½μ° λ©μ€λμ μκ·Έλμ²μμ throws νκ±°λ try ~catchμμ ν΄λΉ μμΈλ₯Ό catch ν΄μΌ νλ€ .

package ch09.unit01;
public class Ex12_throws {
public static void main(String[] args) {
User12 u = new User12();
try {
u.setValue(-5);
} catch (Exception e) {
//e.printStackTrace();
System.out.println(e.toString());
}
System.out.println("end....");
}
}
class User12{
private int value;
public int getValue() {
return value;
}
public void setValue(int value) throws Exception {// λ©μλλ₯Ό νΈμΆν κ³³μμ catch νλλ‘ μ€μ
if(value < 0) {
//κ°μ λ‘ checked exceptionμ λ°μ
throw new Exception("0μ΄μλ§ κ°λ₯ν©λλ€");
}
this.value = value;
}
}

package ch09.unit01;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Ex14 {
public static void main(String[] args) {
Test14 t = new Test14();
t.input();
t.input();
}
}
class Test14{
private Scanner sc = new Scanner(System.in);
public void input() {
String name,tel;
int k, e;
try {
System.out.print("μ΄λ¦?");
name = sc.next();
System.out.print("κ΅μ΄?");
k = inputScore();
System.out.print("μμ΄?");
e = inputScore();
System.out.print("μ νλ²νΈ?");
tel = sc.next();
System.out.println(name+":"+k+":"+e+":"+tel);
} catch (Exception e2) {
System.out.println(e2.getMessage());
}
System.out.println("---------------------");
}
// μ μλ₯Ό μ
λ ₯ λ°λ λ©μλ
private int inputScore() throws Exception {
int n = 0;
try {
n = sc.nextInt();
if(n<0 || n>100){
throw new Exception("μ μλ 0~100κΉμ§λ§ κ°λ₯ν©λλ€.");
}
} catch (InputMismatchException e) {
sc.nextLine(); // μλͺ» μ
λ ₯ λ κ²μ μ½μ΄μ λ²λ¦Ό
//System.out.print("μ«μλ§ μ
λ ₯ κ°λ₯ν©λλ€.");
throw new Exception("μ«μλ§ μ
λ ₯ κ°λ₯ν©λλ€.");
}
return n;
}
}

'π» > JAVA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [Java] 15μΌμ°¨ : μ λλ¦(Generics) (0) | 2024.03.06 |
|---|---|
| [Java] 15μΌμ°¨ : μμΈ(Exception)μ²λ¦¬ 2 (2) | 2024.03.06 |
| [Java] 14μΌμ°¨ : μ€μ²©ν΄λμ€, μ΄κ±°ν, μ΄λ Έν μ΄μ , λ μ½λ (0) | 2024.03.05 |
| [Java] 14μΌμ°¨ : μΈν°νμ΄μ€(interface) (0) | 2024.03.05 |
| [Java] 13μΌμ°¨ : μμ 2 (0) | 2024.03.04 |