반응형
✅ 자바 10장: 컬렉션 API와 반복문
1. 확장 for문 (향상된 for문)
for (타입 변수명 : 배열/컬렉션) { 실행문; }
- 모든 요소 순차 탐색용
- 읽기 전용 → 요소 변경은 불가
2. 인덱스 for문
for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); }
- 인덱스 접근 필요할 때 사용
- 요소 수정 가능
3. ArrayList 실습 예시
ArrayList<String> list = new ArrayList<>();
list.add("서울");
list.add("북경"); ...
- list.get(i) : 인덱스로 요소 꺼내기
- list.size() : 리스트 크기 확인
✅ 자바 11장: 예외(Exception) 처리
1. 예외 종류
예외 | 원인 예시 |
ArrayIndexOutOfBoundsException | 배열 인덱스 범위 초과 |
ArithmeticException | 0으로 나눔 |
NullPointerException | null 객체 접근 |
FileNotFoundException | 없는 파일 접근 |
사용자 정의 예외 | 직접 만든 예외 클래스 |
2. 예외 처리 방법
try {
// 예외 발생 가능 코드
} catch (Exception e) {
e.printStackTrace(); // 오류 위치 추적
System.out.println(e.getMessage()); // 메시지만 출력
}
- e.printStackTrace() → 에러 로그 (Stack trace 구조로 출력)
- e.getMessage() → 예외 메시지만 출력
3. throws와 throw
구분 | 설명 |
throw | 예외 발생 |
throws | 예외를 호출한 곳으로 넘김 |
4. 사용자 정의 예외 만들기
class NegativeNumberException extends Exception {
public NegativeNumberException() {
super("음수는 허용되지 않습니다");
}
}
if (time < 0) {
throw new NegativeNumberException();
}
5. 예외 흐름 팁
- 하나의 예외 발생 후 실행 중단됨
- 예외가 발생해도 프로그램 흐름을 유지하려면 try~catch 필수
6. 업캐스팅 vs 다운캐스팅 in 예외처리
- catch (Exception e) 는 마지막에 와야 함 → 모든 예외의 상위 클래스이므로
- 예: IOException, NullPointerException은 Exception을 상속
✅ 실무 관련 팁
- 예외 처리 시 enum, Comparable, 람다식, stream까지 연계 학습 필요
- 사용자 입력 유효성 검사 시 Exception 필수
- 스프링, 리액트 등에서도 예외 핸들링이 매우 중요
반응형
'자바프로그래밍' 카테고리의 다른 글
Comparator 람다식 sid 기준 정렬 설명 (0) | 2025.06.03 |
---|---|
자바프로그래밍 MathClass WrapperClass StringTokenizer ArraysClass PatternClass binarySearch parseInt split equals 기본API활용 (0) | 2025.05.29 |
자바프로그래밍 다형성 toString 인터페이스 내부클래스 자바 ObjectClass equalsMethod (0) | 2025.05.25 |
상속과 인터페이스 자바프로그래밍 클래스 생성자 setter 상속 toString 오버라이드 super() @override (0) | 2025.05.24 |
제네릭 클래스 메서드 자바프로그래밍 (1) | 2025.05.24 |