230503 day22 개념 정리

Jin·2023년 5월 25일
0

codenotion

목록 보기
19/90
post-thumbnail
익명객체 : 이름이 없는 객체

자식클래스나 구현클래스를 만들지 않고 객체 생성 가능 
클래스를 상속하거나 인터페이스를 구현해야만 생성 가능 

익명 자식 객체 - 클래스를 상속 
new 부모클래스() {
	필드 
	메소드 
}
익명 구현 객체  - 인터페이스를 구현
new 인터페이스() {
	필드 
	메소드 
}

Tire tire = new Tire() {
	@Override
	public void roll() {
		sysout("익명자식객체");
	}
}

RemoteControl rc = RemoteControl() {
	@Override
	public void turnOn() {
		sysout("익명구현객체");
	}
}


라이브러리 : 클래스와 인터페이스를 모아둔 것 
JAR압축파일 형태로 존재 

모듈
java9부터 지원 
패키지 관리 기능이 추가된 라이브러리 


예외처리

컴퓨터 하드웨어 관련 고장으로 응용프로그램 실행 오류 발생 -> 에러
그 외 프로그램 자체에서 발생하는 오류 -> 예외

예외처리 코드
: 예외 발생 시 종료되는걸 막고 정상 실행을 유지하도록 처리하는 코드 

일반 예외 - 컴파일러 예외 체크 (예외처리코드검사 실행)
실행 예외 - 컴파일러 예외 체크를 안함 ---> 개발자의 경험으로 예외처리코드 작성 필요 

try { 예외가 발생될 코드 } 
catch(예외클래스 e) { 예외 처리 } ---> 예외클래스 : 발생되는 예외타입
finally { 예외 발생 유무에 상관없이 마지막에 항상 실행 }

예외 정보 출력 3가지
e.getMessage() : 예외 발생 이유 리턴
e.toString() : 예외 발생 이유와 예외 종류 리턴
e.printStackTrace() : 예외 발생 이유와 예외 종류, 예외 발생 위치까지 리턴 

일반 예외
ClassNotFoundException
InterruptedException

실행예외
NullPointerException
ArrayIndexOutOfBoundsException
NumberFormatException

상위 및 하위 클래스, 구현 클래스와 인터페이스 간 타입 변환 가능
이러한 관계가 아닐 경우 ClassCastException 발생 


예외 떠넘기기 
호출한 곳에서 예외 처리 가능 
throws 키워드 뒤에 떠넘길 예외 클래스를 나열 

public void method() throws 예외클래스(여러개도지정가능) {
	예외발생코드
}

사용자 정의 예외
일반 예외는 Exception을 상속 
실행 예외는 RuntimeException을 상속
(새로운 예외 생성 후 Exception 상속 받는게 필요함)

예외 발생시키기
throw 키워드 + 예외 객체 제공 
throw new Exception() // 일반 예외 발생 
throw new RuntimeException() // 실행 예외 발생 
throw new 사용자예외클래스("예외메시지")
profile
신입 개발자의 배웠던 것을 복습하기 위한 블로그입니다.

0개의 댓글