프로그래밍 언어(23)
-
Catch/ throw
try~catch란? - try { 예외가 발생할 것으로 예상되는 코드 } catch(잡을 예외) { 예외 잡은 이후 실행할 내용 } try { System.out.println(10 / 0); } catch(ArithmeticException e) { System.out.println("내가 잡은 예외 : " +e);//내가잡은예외 : ArithmeticException } throw란? - 안쪽에서 발생한 예외를 잡아서 main 메소드에 던져버린다. - 예외를 받은 메인 메소드에서도 예외를 던질 수 있지만 메인 메소드에서는 가급적이면 try~catch로 예외를 처리하는 것이 좋다. !!여기서 잠깐!! - 메소드 안에서 try~catch를 할 수 있는데 굳이 throw로 예외를 던지는 이유가 무엇일까?..
2023.01.25 -
파일 입출력 - BufferedReader, BufferedWriter
import java.io.File; import java.io.BufferedReader; public class Main { public static void main(String[] args) { File f = new File("abc.txt"); FileReader fr = new FileReader(f); //bufferedReader는 더 향상된 통로다. BufferedReader br = new BufferedReader(fr); //한줄을 통째로 읽어온다 //Filereader와 다르게 String 그 자체로 읽어올 수 있다 String str = br.readLine(); System.out.println(str); //HelloJonny } }
2023.01.20 -
파일 입출력 - FileWriter, FileReader
파일 입출력하기 import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.FileReader; public class Main { public static void main(String[] args) throws IOException { System.out.println("파일 입출력하기"); //이때, 큰따옴표 안의 경로를 비워놓으면 지금 현재 파일의 경로를 의미한다. File f = new File("abc.txt"); //파일을 대상으로 통로를 만들어주기 위해 통로인 filewriter를 만들어준다. //괄호 안쪽에는 어떤 파일을 연결할지를 지칭해준다.(f) //객체를 만들기만 하고 아무것도 연..
2023.01.20 -
객체의 라이프 사이클
객체는 언제 생성되고 소멸되는가? - 객체는 생성자가 호출될 때, 객체가 생성된다. - 다른 곳에서 객체를 찾지 않을 때(기억하지 않을 때) 그 객체는 자동 소멸된다. - 즉, 객체가 사라질 때는 참조가 완전히 끊어졌을 때 해당 객체는 사라진다.
2023.01.20 -
자바 - 상속(Inheritance)
상속이란? 부모 클래스의 속성과 변수를 자식 클래스에서 전달하는 것이다. 똑같은 부모를 상속받아서 자식 클래스가 부모의 변수의 값을 바꾸게 되면 다른 클래스에서도 부모의 값이 바뀔까? 자식 클래스가 부모의 변수의 값을 바꾸어도 다른 클래스에서의 부모의 값은 간섭받지 않는다. 자식 클래스가 부모의 변수의 값을 바꾸든 부모 클래스의 값은 바뀌지 않는다.
2023.01.18 -
배열 - 얕은 복사/ 깊은 복사
얕은 복사 String[] arr = {"red", "blue", "green"}; //얕은 복사 String[] b = arr; for(int i = 0; i < b.length; i++) { System.out.println(b[i]); } 얕은 복사의 방법은 이렇다. 얕은 복사를 사용할 때 주의할 점은 다른 배열의 값을 바꾸면 오리지널 배열의 값도 바뀐다. 왜냐하면 같은 주소값을 사용하기 때문이다. //깊은 복사 String[] a = {"aaaaaa", "bbbbbb", "ccccccc"}; String[] b = new String[3]; b[0] = a[0]; b[1] = a[1]; b[2] = a[2]; System.out.println(b[0]);//aaaaaa System.out.prin..
2023.01.10