생활코딩 38

Java_예외 - try-with-resource

close는 워낙 자주 해야 하는 일이고, 너무 중요한 일이기 때문에 java 7 부터 자동으로 close를 해주는 try-with-resource 가 추가 되었습니다. 이에 대해서 알아봅니다. (생활코딩) https://www.youtube.com/watch?v=fYHsOyvnzAs import java.io.FileWriter; import java.io.IOException; public class TryWithResource { public static void main(String[] args) { // try with resource statements try (FileWriter f = new FileWriter("data.txt")) { f.write("Hello"); } catch(IOE..

Java_예외 - Resource 와 finally

https://www.youtube.com/watch?v=WSFBl3H-MsE 리소스는 불안정하다 Java가 리소스를 사용하려면 사용하는동안 리소스를 붙잡고 있어야 한다. 리소스를 붙잡고 있다가 놓아주는 메소드가 close() 이다 import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils; import java.io.FileWriter; import java.io.IOException; public class CheckedExceptionApp { public static void main(String[] args) { FileWriter f = null; try { f = new FileWriter("data.txt"); f.write("Hello"..

Java_예외 - checked vs unchecked exception

https://www.youtube.com/watch?v=q80kLBw04gI RuntimeException을 포함한 자식들은 UncheckedException이고 IOException을 포함한 자식들은 CheckedException CheckedException = IOException 무심코 예외처리를 안하고 넘어가는 것을 방지하기 위해 예외처리를 안할경우 컴파일 자체가 안된다. import java.io.FileWriter; import java.io.IOException; public class CheckedExceptionApp { public static void main(String[] args) { try { FileWriter f = new FileWriter("data.txt"); f...

Java_예외 - 예외의 우선순위

https://www.youtube.com/watch?v=lSopXBjhBHo public class ExceptionApp { public static void main(String[] args) { System.out.println(1); int[] scores = {10,20,30}; try { System.out.println(2); System.out.println(scores[3]); System.out.println(3); // System.out.println(2 / 0); System.out.println(4); } catch(ArithmeticException e){ System.out.println("계산이 잘못된 것 같아요."); } catch(Exception e){ // Exce..

Java_예외 - 예외의 처리

https://www.youtube.com/watch?v=YNRANQPuDjM public class ExceptionApp { public static void main(String[] args) { System.out.println(1); int[] scores = {10,20,30}; try { System.out.println(2); System.out.println(scores[3]); // 여기까지만 실행, 밑에는 건너뛰고 끝남 System.out.println(3); System.out.println(2 / 0); System.out.println(4); } catch(ArithmeticException e){ System.out.println("잘못된 계산이네요."); } catch(Arr..

Java_Interface - 인터페이스의 형식

https://www.youtube.com/watch?v=tVRKuSkgGko&t=241s *여러개의 클래스가 공통적으로 가지고 있어야할 변수나 메소드가 있을 경우 인터페이스를 통해 공유함 // 인터페이스 생성, 변수는 내용입력해야하고, 메소드는 내용X // 하나의 클래스는 여러개의 인터페이스를 구현할 수 있다. // 인터페이스의 메소드의 실제 구현은 클래스에서 반드시해야 한다. interface Calculable{ double PI = 3.14; int sum(int v1, int v2); } interface Printable{ void print(); } class RealCal implements Calculable, Printable{ public int sum(int v1, int v2) {..

Java_상속 - 상속과 생성자

https://www.youtube.com/watch?v=OStTXyl636k //자바는 단하나의 클래스만 상속가능 class Cal{ int v1,v2; Cal(int v1, int v2){ //생성자 System.out.println("Cal init!!"); this.v1 = v1; this.v2 = v2; } public int sum(){ return this.v1+v2; } } //생성자가 있는 부모클래스를 상속받으려면 자식클래스도 생성자를 만들어야함 class Cal3 extends Cal{ Cal3(int v1, int v2) { super(v1, v2); // super로 부모클래스 생성자를 가져옴 System.out.println("Cal3 init!!"); } public int mi..

Java_상속 - this & super

https://www.youtube.com/watch?v=3S4Tbz5H-H0 class Cal{ public int sum(int v1, int v2){ return v1+v2; } // Overloading public int sum(int v1, int v2, int v3){ // this 자기자신을 가리킴 Cal의 sum 메소드 return this.sum(v1,v2)+v3; } } class Cal3 extends Cal{ public int minus(int v1, int v2){ return v1-v2; } // Overriding public int sum(int v1, int v2){ // super는 부모의 변수나 메소드 System.out.println("Cal3!!"); return..