Java ‐ 예외 처리와 고급 자바 기법 - dnwls16071/Backend_Summary GitHub Wiki

📚 예외 처리 방법

  • try~catch : 예외 발생 시 특정 코드를 실행시켜 프로그램이 정상 흐름으로 복귀하도록 처리
  • throws : 메서드에서 예외가 발생할 가능성이 있음을 호출부 측에 알림
  • throw : 직접 예외를 발생시킬 때 사용

📚 직렬화와 역직렬화란?

  • 직렬화(Serialization)
    • 객체 → 바이트 스트림으로 변환하여 파일, 네트워크 전송 등에 사용할 수 있도록 하는 과정
    • Serializable 인터페이스를 구현해야 직렬화가 가능
  • 역직렬화(Deserialization)
    • 저장된 바이트 스트림 → 객체로 변환하는 과정

📚 String vs StringBuffer vs StringBuilder 비교

타입 변경 가능 여부 쓰레드 안전성 속도
String ❌(불변, immutable) O (불변 객체이므로 안전) 느림 (새 객체 생성)
StringBuffer ✅ (변경 가능) O (synchronized 지원) 상대적으로 느림
StringBuilder ✅ (변경 가능) ❌ (동기화 지원 안함) 빠름