본문 바로가기

자바(java)

8강: 예외 처리와 파일 입출력

반응형

1. 예외 처리 기초와 try-catch
예외(Exception) 는 프로그램 실행 중에 발생하는 비정상적인 상황을 의미합니다. 예외 처리(Exception Handling) 는 이러한 예외 상황을 안전하게 처리하여 프로그램의 비정상적인 종료를 방지하는 방법입니다.

try-catch 블록: 가장 기본적인 예외 처리 구문입니다. try 블록 내에서 예외가 발생할 수 있는 코드를 작성하고, catch 블록에서 해당 예외를 처리합니다.

try {
    int division = 10 / 0;
} catch (ArithmeticException e) {
    System.out.println("Arithmetic Exception: Division by zero");
}
finally 블록: try-catch 블록 다음에 선택적으로 사용되며, 예외 발생 여부와 관계없이 실행되는 코드를 포함합니다.

 


2. 사용자 정의 예외
사용자 정의 예외는 자바의 표준 예외 클래스를 상속받아 개발자가 직접 만든 예외 클래스입니다. 특정 상황에 맞는 예외를 정의하여 프로그램의 가독성과 유지 보수성을 높일 수 있습니다.
사용자 정의 예외 생성 방법:

class MyException extends Exception {
    public MyException(String message) {
        super(message);
    }
}

 

사용 예:
throw new MyException("Custom Exception Occurred");

 


3. 파일 읽기와 쓰기, 스트림과 버퍼링
파일 입출력(File I/O)은 데이터를 파일에 쓰거나 파일에서 데이터를 읽는 과정을 의미합니다. 자바에서는 FileReader, FileWriter, BufferedReader, BufferedWriter 등의 클래스를 사용합니다.

스트림(Stream): 데이터의 연속적인 흐름을 나타내며, 입력 스트림과 출력 스트림으로 구분됩니다.
버퍼링(Buffering): 효율적인 입출력을 위해 데이터를 일시적으로 저장하는 메모리 영역입니다.

 


4. 직렬화와 역직렬화
직렬화(Serialization) 는 객체의 상태를 바이트 스트림으로 변환하는 과정입니다. 이를 통해 객체를 파일에 저장하거나 네트워크를 통해 전송할 수 있습니다.

역직렬화(Deserialization) 는 바이트 스트림을 다시 객체로 변환하는 과정입니다. 이는 직렬화된 데이터를 읽고, 원래의 객체 상태로 복원합니다.

Java에서는 Serializable 인터페이스를 구현하여 직렬화 기능을 사용할 수 있습니다.
직렬화는 ObjectOutputStream을, 역직렬화는 ObjectInputStream을 사용합니다.

반응형

'자바(java)' 카테고리의 다른 글

10강: 네트워크 프로그래밍  (0) 2023.12.17
9강: 스레드와 동시성 프로그래밍  (0) 2023.12.17
7강: 객체 지향 프로그래밍  (0) 2023.12.17
6강: 메서드와 함수  (0) 2023.12.17
5강: 배열과 컬렉션  (0) 2023.12.17