항해 37

어제 술마시고 공부하기 너무 힘드네요.. 오늘은 쉬어야겠어요 ㅠㅠ

인터페이스 – 추상 메서드 집합, 추상 클래스의 iv(멤버 인스턴스 개체, 생성자) 존재 여부(인터페이스가 없음)

사물 간의 연결과 대화, 소통을 지원하는 매개체 역할을 한다는 것이 장점이다.

선언(설계)과 구현 분리 가능 -> 변경 시 커널만 변경 가능

개발 시간 단축 가능 -> 선언과 구현이 동시에 개발되지 않고 선언을 먼저 개발 가능.

표준화 가능 -> jdbc를 사용하면 프로그램을 데이터베이스에 설정하지 않아도 됨(jdbc에 따른 데이터베이스 개발)

서로 관련이 없는 클래스는 관련될 수 있습니다.

컴파일러는 소스 코드를 작성한 프로그래머가 작성한 코드를 컴퓨터에서 실행할 수 있는 기계어로 변환하는 프로그램입니다.

예외 처리

오류: 프로그램 코드로 수정할 수 없는 심각한 오류입니다.

예외: 프로그램 코드로 수정할 수 있는 오류

예외 처리: 예외 발생에 대비하는 코드 작성(목적은 프로그램이 비정상적으로 종료되는 것을 방지하고 프로그램이 정상적으로 실행되도록 하는 것입니다.)

컴파일 오류: 컴파일 중 발생하는 오류(수정될 때까지 실행할 수 없음)

런타임 오류: 실행 중 발생하는 오류(프로그램을 시작하지만 종료함)

논리적 오류: 작동하지만 의도한 대로 작동함X

Runtime Error 예외의 일부: 사용자 오류 등 외부 요인으로 인한 예외(예:)

IOException(입력/출력 예외), ClassNotFoundException(클래스가 존재하지 않음 X)

RuntimeException: 프로그래밍 오류의 결과로 발생하는 예외입니다.

ArithmeticException(산술 계산 중 예외), ClassCastException(유형 캐스팅), NullPointException(null 포인터 – null 값에서 정보 찾기) IndexOutOfBoundsException(범위를 벗어난 배열)

예외가 발생하면 예외 객체 생성(발생한 예외에 대한 정보)

printStackTrace() – 예외가 발생했을 때 호출 스택에 있는 메서드에 대한 정보와 예외 메시지를 화면에 출력합니다.

getMessage() – 발생한 예외 클래스의 인스턴스에 저장된 메시지를 가져올 수 있습니다.


멀티 캐치 블록

try{
 ....
}catch(ExceptionA e|ExceptionB e2){

    e.printStackTrace();

}

친자 관계의 경우 육아휴직 캐치 변수를 포함시키면 자식형도 적용되기 때문에 멀티를 사용할 필요는 없습니다.

예외를 던지다

1. 그런 다음 new 연산자를 사용하여 throw하려는 예외 클래스의 개체를 만듭니다.

Exception a = new Exception();

throw 키워드로 예외를 던집니다.

throw a;

예외 유형

ckeckedException: 컴파일러에서 예외 처리 여부 확인(예외 처리 필요)

uncheckdeexception: 컴파일러는 예외가 처리되었는지 여부를 확인하지 않습니다.