Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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 more
Archives
Today
Total
관리 메뉴

기분좋음

국비 17 일차 본문

IT 포트폴리오/국비지원교육 Diary

국비 17 일차

기분좋음:) 2022. 1. 5. 20:12
반응형

11강 예외

예외처리

컴파일 시 발생하는 에러

컴파일 과정에서 소스코드에 대한 오타나 잘못된 부분 확인

 

런타임 에러

실행중에 발생하는 에러

프로그램 실행중 동작 멈추거나 갑자기 프로그램 종료 되는 경우

런타임중 발생하는 에러 크게 두가지

1.에러

2.예외

 

에러 

메모리 부족등, 일단 발생하면 복구 불가능 한 에러

예외

문제가 발생하더라도 프로그램 수정으로 수습 가능한 비교적 덜 심각한 에러

(프로그래머가 적절한 소스 수정으로 잡을 수 있다.)

 

NullPointException

객체 참조가 없는 상태, 참조변수로 값이 없는 상태에서 사용하려고 할 때 

ArrayIndexOutOfBoundsException 

배열에서 인덱스 범위를 초과한 상태

NumberFormatException 

문자열로 되어있는 데이터를 숫자로 변경할 때(변환할수 없는 문자를 갖고있을 경우)

ClassCastException 

타입변환 에러 (강제변환 안되는 상황일 때) 

상위클래스와 하위 클래스간에 발생 구현클래스와 인터페이스 간에도 발생

이러한 관계가 아닐경우에 강제 변환시 발생

 

예외 처리 코드

try {

예외발생 가능 코드

}

catch(예외 클래스 e) {

예외처리

}

(finally)-항상 실행 (예외발생 노발생)

(예외 발생시에만 catch로 이동)

 

예외 처리란

예외 발생을 대비한 코드를 작성

 

직접처리: try~catch문

간접 처리: throw (메인 메서드에서 예외 발생시 딴곳으로 보냄)

 

하나의 try 문에 여러개 catch문 사용 가능하다.

여러가지 상황의 예외처리 대비하고, 우선발생한 catch문만 실행된다.

두가지 catch문 |(or)연산자로도 처리 가능함

 

직접처리 통째로 처리

모든 예외 부모 클래스인 Exception 클래스이다.

Exception catch문은 가장 밑에 넣어준다. (가장 위에 넣어줄 경우 에러 발생) -문법

 

간접 예외 처리

메소드 내부에 예외 발생시 내부에서 처리하지 않고 메소드를 호출한 위치로 예외를 떠넘김

해당 메소드에서 직접 처리한다. (호출한 곳에서 try catch문)

 

사용자 정의 예외

개발자가 직접 예외를 정의 할 수있다.

일반 예외 Excption클래스 상속

실행 예외 RuntimeErrorException클래스 상속

 

예외 발생 키워드는 throw

e.getMessage(); 저장된 문자열을 가져온다.

 

12강 유용한 API클래스

기본 패키지 java.lang.Object

패키지중 가장 기본되는 패키지 경로설정이나 Import 없이 사용가능

object 클래스는 모든 클래스들의 최고조상이다 직접 사용하기 보다 적절하게 오버라이딩해서 사용한다.

equals(Object obj) 두객체 같고 다름을 참조변수의 값(주소)로 판단한다. -내용비교

어떤 객체의 실제 내용물을 비교하고 싶을 때 오버라이딩 한다.

hashCode() 암호화된 코드 (키값 필요) 값의 주소 불러옴

대량의 데이터를 저장하고 검색하는데 유용

toString() 객체의 정보를 문자열로 제공할 목적으로 정의된 메소드

오버라이딩이 되지 않았다면 기본적으로 hashCode(값의 주소값)를 반환한다.

Clone() 자기 자신을 복제해서 새로운 인스턴스를 만드는 일을 한다.

Clonable인터페이스를 구현한 클래스의 인스턴스만 복제 가능하다. -a.clone();

getClass() 자신이 속한 클래스의 Class객체를 반환하는 메소드

Class객체는 클래스의 모든정보를 가지고 있고 클래스당 1개만 존재 

 

java.lang.Wrapper

기본타입을 클래스로 정의한것 

기본타입을 내장하고 있기 때문에 포장클래스이다.

기본타입을 Wrapper클래스로 감싸는 것을 박싱

Wrapper클래스를 기본타입으로 꺼내는것을 언박싱

박싱 하는 법

생성자를 통해서 박싱

Integer a = new Integer(100);

메소드를 통해서 박싱

Integer a = Integer.valueOf(100);

언박싱 하는법

기본타입명 + Value();

long b = new Long("100")

->long b1 = b.longValue();

 

Wrapper클래스 내부 데이터 비교는 비교연산자를 사용할 수없다. (숫자가 아니고 다른 형태라서)

내부 내용 비교를 위해 equals메소드를 사용해야한다.

 

java.lang.String

Stirng -클래스 문자열을 저장하기 위한 클래스

문자형 배열(char[])과 그에 관련한 메소드들이 정의되어있다.

String 클래스는 immutable의 성질을 가진다(인스턴스의 내용을 바꿀 수 없다.)

String 클래스는 내용이 없는 빈 char[]생성 가능 "";

그러나 char 는 공백을 의미하는 값이 입력되어야 한다.

toLowerCase() - 모두 소문자

toUpperCase() - 모두 대문자

trim()  -문장간 공백 메워줌

getByte() -문자열을 바이트 배열로 변환  

             매개변수로 문자변환 인코딩 타입을 지정해줄수 있다. 

              바이트 배열을 String 인스턴스 생성시 매개변수로 넣으면 문자열로 재 생성

valueOf() -기본타입의 데이터를 문자열로 변환

concat(문자열)  - 기본 문자열에 전달받을 문자열을 결합해서 

 

유틸패키지 java.Util

JDK 설치시 여러가지 패키지들이 같이 설치된다.

기본 패키지가 아니므로 경로를 작성해주거나 import사용해야한다.

 

Date클래스는 날짜를 표현하기 위한 클래스 

기본적으로 toString()메소드를 통해 기본적인 날짜를 문자열로 가져 올수 있지만 

SimpleDateFormat을 이용해서 원하는 포맷으로 만들 수 있다.

SimpleDateFormat a = new SimpleDateFormat("yyyy년 MM월 dd일 hh시 mm분 ss초");

 

java.util.Calendar

참조변수.get()메소드에 적절한 매개변수를 전달함으로 날짜 관련 데이터를 얻어올 수 있다.

 

반응형

'IT 포트폴리오 > 국비지원교육 Diary' 카테고리의 다른 글

국비 19 일차  (0) 2022.01.07
국비 18 일차  (0) 2022.01.06
국비 16 일차  (0) 2022.01.05
국비 15 일차  (0) 2022.01.03
국비 14 일차  (0) 2021.12.31