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 |
✅ (변경 가능) |
❌ (동기화 지원 안함) |
빠름 |