ki-sd 님의 블로그
[2026-03-25] 인터페이스(Interface)와 예외 처리(Exception) 입문 본문
클래스 간의 엄격한 계약을 정의하는 인터페이스와, 프로그램의 비정상적인 종료를 막는 예외 처리의 첫걸음을 뗐다.
1. 인터페이스(Interface)를 통한 협업 규격 설계
- 추상 클래스보다 한 단계 더 높은 극단적인 추상화를 제공한다. 내부에는 오직 상수(public static final)와 추상 메서드(public abstract)만 가질 수 있다.
- 자바는 클래스의 다중 상속을 금지하지만, 인터페이스는 implements 키워드를 통해 여러 개를 동시에 구현할 수 있다.
- 실무적 의의: 여러 명의 개발자가 협업할 때, "이 기능은 반드시 이런 이름과 매개변수를 가진 메서드로 만들어라"라는 상호 간의 엄격한 계약서 역할을 함을 확인했다.
2. 예외 처리(try-catch)의 필요성
- 문법적인 오류(Compile Error)가 없더라도, 실행 도중 사용자의 잘못된 입력이나 네트워크 단절 등으로 인해 예기치 못한 런타임 에러(Runtime Exception)가 발생할 수 있다.
- 에러가 발생하면 프로그램이 그 즉시 강제 종료되지만, try 블록에 위험한 코드를 넣고 catch 블록에서 해당 에러를 낚아채어 적절한 대안 흐름을 제공하면 프로그램이 멈추지 않고 계속 실행되는 견고함(Robustness)을 더할 수 있다.
'JavaStudy' 카테고리의 다른 글
| [2026-03-27] try-with-resources와 사용자 정의 예외(Custom Exception) (0) | 2026.04.17 |
|---|---|
| [2026-03-26] 예외 처리 심화와 finally 블록의 자원 반납 (0) | 2026.04.17 |
| [2026-03-24] 다형성(Polymorphism)과 추상화(Abstraction)의 강력함 (0) | 2026.04.17 |
| [2026-03-23] 상속(Inheritance)과 포함(Composition)의 설계 철학 (0) | 2026.04.13 |
| [2026-03-20] 캡슐화(Encapsulation)와 데이터 은닉화 (0) | 2026.04.13 |
