4주차 자바
예외(Exception), 오류처리(error)
- 오류(Error)는 일반적으로 회복이 불가능한 문제입니다.
- 이는 시스템 레벨에서, 또는 주로 환경적인 이유로 발생합니다.
- 코드의 문제로 발생하는 경우도 있지만, 일단 발생하는 경우 일반적으로 회복이 불가능합니다.
- 에러가 발생한 경우 우리는 어떠한 에러로 프로그램이 종료되었는지를 확인하고 대응합니다.
- 예외(Exception)는 일반적으로 회복이 가능한 문제입니다.
- 회복이 가능하다는 전제는 우리가 “그 예외가 발생할 수 있다는 것을 인지하고, 대응했을 것입니다”.
- 현실적으로 코드 레벨에서 할 수 있는 문제 상황에 대한 대응은 “예외 처리”에 속합니다.
- 컴파일 에러(예외) 📂
- .java 파일을 .class 파일로 컴파일할 때 발생하는 에러
- 대부분 여러분이 자바 프로그래밍 언어의 규칙을 지키지 않았기 때문에 발생합니다.
- 예를 들어 있지 않은 클래스를 호출한다거나, 접근이 불가능한 프로퍼티나 메소드에 접근한다거나 하는 경우에 발생합니다.
- 컴파일 에러가 발생하는 경우 해결 방법은 문법에 맞게 다시 작성하는 것입니다.
- 런타임 에러(예외) ❤️🔥
- 우리가 주로 다루게 될 에러(예외)입니다.
- 문법적인 오류는 아니라서, 컴파일은 잘 되었지만 “프로그램”이 실행 도중 맞닥뜨리게 되는 예외입니다.
새싹반(Enum)
Enum
열거형이란?
- 정의: Enum은 열거형 데이터 타입, 서로 연관된 상수들의 집합
- 상수 집합: Enum은 코드에서 의미 있는 이름으로 상수들을 묶어 한정된 값의 법위를 정의
ex) 주로 요일, 계절, 방향, 상태 등 한정된 범주의 박 표현할 떄 사용
2. Java Enum의 기본 특징
- 타입 안정성: Enum은 명확한 타입을 제공, 잘못된 값이 사용되는 것을 방지
- 정해진 상수: 상수를 미리 정의, 허용된 값만을 사용 할 수 있게 함
- 읽기 쉬운 코드: 코드의 가독성을 높여줌-> 의미를 명확하게 표현할 수 있음
- 객체로서의 Enum: Enum도 객체, 모든 Enum은 java.long.Enum 클래스를 상속 받으며 내부 필드에서 메서드를 갖을 수 있음
3.Enum 선언 방법
4. Enum도 객체이다
Enum은 단순한 상수 이상의 역활을 할 수 있음
각 상수는 독립적인 객체로 간주되며 생성자, 필드, 메서드를 갖을 수 있음
5.Enum 사용 방법
6.Enum의 메서드 활용
7.Enum에서 메서드 추가하기
8.Enum과 switch문
Enum을 사용하는 이유
- 코드 가독성 향상: 숫자나 문자열을 사용하는 대신, 의미 있는 이름을 사용하여 코드를 명확하게 만듬
- 타입 안정서이 특정 값들의 집합을 명확히 정의, 코드에서 잘목된 값을 사용할 가능성을 줄임
- 객체의 확장성: Enum이 객체이므로 필드와메서드를 추가하여 더 복잡한 동작을 구현 할 수 있음
- 변경용이성: 값의 집합을 한 곳에서 관리하므로 유지보수 및 변경이 용이
컬랙션
가변 배열의 길이가 정해저 있음
배열
고정 크기: 배열은 초기화 시 크기가 고정되며, 이후 크기 변경 할 수 없음
동일한 타입: 배열은 동일한 데이터 타입의 요소만 저장 할 수 있음
인덱스 접근: 배열 요소는 인덱스를 사용하여, 빠르게 접근 가능
간단한 구조: 배열은 구조가 간단해서 메모리 효율이 좋고 성승이 빠르다
[1] JAVA Collection
동적 크기: 컬렉션은 필요에 따라 크기가 자동으로 조정
유연한 데이터 타입: 제네릭을 사용하여 다양한 타입의 데이터를 저장 할 수 있음
다양한 데이터 구조: 다양한 요구사항에 맞는 여러 데이터 구조를 제공
풍부한 메서드 : 데이터 조작을 위한 다양한 메서드 제공(삽입, 삭제, 검색 등)
[2]각 인터페이스의 특징
자바 컬렉션 프레임워크는 데이터를 저장, 검색, 정렬 등을 위한 다양한 인터페이스와 클래스를 제공하는 API
컬렌션 프레임워크는 데이터를 효과적으로 관리 하기 위한 일관된 방법 제공&다양한 종유릐 컬렉션 사용 할 수 있게 함
1.List 인터페이스:
2.Set인터페이스
mylist안에 쓸 수 있는 애들 mylist. ->우즉에는 반환되는값들
커멘드나 컨트롤 버튼 누르면 어케 짜였는지 알 수 있다
<실습>
로또 프로그램 만들기
: 1~45 사이 숫자 중, 6개 숫자 출력되는 프로그램
작성한 코드는 오류가 없다 했는데, 자꾸 오류가 떠서 물어보니
import java.util.*;
이 부분이 보통 자동으로 들어가는데
삽입 되지 않아서 오류가 뜬 걸 수도 있다는 피드백을 받았다
삽힙하고 나니 정상적으로 프로그램이 진행 되었다
'내일배움캠프 7기' 카테고리의 다른 글
특강(클래스,메모리구조_Heap,Stack) (2) | 2024.10.23 |
---|---|
자바(제네릭,인터페이스)_나무반 (0) | 2024.10.22 |
자바(객체지향) (2) | 2024.10.18 |
자바(클래스, 객체, 상속) & Git (4) | 2024.10.17 |
트러블슈팅(계산기 만들기) (0) | 2024.10.16 |