Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 네티 클라이언트
- Security
- 스프링부트
- service
- toyproject
- 클래스
- Kotlin
- react
- 코틀린
- 채팅
- 네티 서버
- 팀프로젝트
- 자바
- Spring
- 기초설정
- 자료형
- springboot
- Java
- 백엔드 설정
- JWT
- 도커
- Spring Boot
- controller
- Repository
- axios
- 배열
- netty
- 프로젝트
- MySQL
- recoil
Archives
- Today
- Total
hyuko
예외처리 및 익명 클래스 본문
728x90
반응형
예외처리
자바의 예외에는 일반 예외와 실행 예외가 있다.
각각 Checked Exception 과 Unchecked Exception 으로 부를 수 있다.
- 실행 예외는 굳이 개발자가 예외처리를 직접 하지 않아도 된다.
- 일반 예외는 개발자가 꼭 예외처리를 해줘야 한다.
Exception 은 기본적으로 Checked Exception이다.
runtimeException을 상속받는 애들은 uncheked 이고 아니면 checked이다.
간단한 예외처리 코드를 보고 오겠다.
public static void main(String[] args){
Integer[] nums = {1, 2, 3, 4, 5};
try {
// 예외가 있을 수도 있는 코드
for (int i = 0; i < 6; i++) {
System.out.println(nums[i]);
}
} catch (ArrayIndexOutOfBoundsException e) {
// else if 처럼 낮은 부분부터 최상위로 조건을 주면서 올라온다.
System.out.println("배열의 크기가 다릅니다.");
} catch (Exception e) {
System.out.println("예상 못한 예외처리를 함");
} finally {
System.out.println("프로그램 정상 종료");
}
}
- 여기서 try는 예외가 있을 수도 있는 코드를 집어 넣어준다.
- 만약 오류가 발생을 하면 1차적으로 array오류인 첫번째로 옮겨가고
- 그 오류가 아닐 경우 Exception에서 다잡아 준다.
- finally는 무조건 실행되는 구간이다.
여기서 궁금해야 할 것은 finally 를 왜써야하고 언제 쓰는가이다.
그냥 try catch를 걸게되고 Exception을 마지막에 catch에 해놓으면 예외처리가 다되는데
혹여나 Exception을 걸지않은 상태로 우리가 예상한 exception만 설정 해놓고,
예외가 터지더라도 무조건 실행되야 할 경우이거나, 지금까지 실행한 정보들을 따로 저장하는 로직등을
넣을 때 쓰인다.
익명클래스
인터페이스는 바로 생성이 불가하다.
하지만 인터페이스를 쓰려면 클래스를 생성해서 implements 해줘야 쓸 수가 있는데,
단 한번만 쓰일 용도로 쓰일 인터페이스 경우에 굳이 클래스를 생성해서 저장하고 할 필요없이
익명클래스라는 것으로 생성 당시에 오버라이드 시켜주는걸 말한다.
interface x1 = new interface() {
@Override
public 자료형 메소드명() {
return 자료형;
}
};
- 특징으로는 이 익명 클래스는 저장이 되는 클래스가 아니기 때문에
딱 한번 그 클래스에서 인터페이스가 생성될 당시에만 쓸수가 있다.
익명클래스는 추상클래스도 동일하게 사용이 가능하다.
728x90
반응형
'Java > Java 심화편' 카테고리의 다른 글
함수형 인터페이스와 람다 (0) | 2023.04.24 |
---|