익명 클래스
- 익명 중첩 클래스는 익명 클래스임과 동시에 내부 클래스이다.
- 일시적으로 한번 사용되며 재사용이 불가능하다
why?
- 부모 클래스를 상속받는 자식 클래스를 사용하지 않고도 객체를 생성하여 부모 클래스를 implement 할 수 있다.
ex)
public abstract class Action{
public abstract void exec();
}
//추상클래스 Action을 상속받은 클래스 MyAction
public class MyAction extends Action{
public void exec(){
System.out.println("exec");
}
}
//MyAction을 사용하는 클래스 ActionExam
public class ActionExam{
public static void main(String args[]){
Action action = new MyAction();
action.exec();
}
}
이 코드를 익명 클래스를 통해 상속받는 자식 클래스 없이 구현할 수 있다
solution
public abstract class Action{
public abstract void exec();
}
public class ActionExam{
public static void main(String args[]){
Action action = new Action(){
public void exec(){
System.out.println("exec");
}
};
action.exec();
}
}
Exception
-프로그램 실행 중 예기치 못한 예외적인 사건이 발생했을 때, 미리 예측하고 처리하는 방법을 예외처리라고 한다.
why?
- 금융회사에서 전산업무를 한다고 상상해보자. 업무 중 프로그램에서 오류가 발생하여 서버가 마비되면 많은 경제적 손실이 발생할 수 있기 때문에 예외를 예측하고 처리해야 손실을 방지할 수 있다. 그래서 예외처리가 필요하다.
How?
try-catch-finally
구조)
try{
..... > 수행할 코드. 예외 발생 가능성이 있는 블록
}catch(예외클래스 변수명){
.... > 예외 처리 블록
}finally{
....... > 예외 발생 여부에 상관없이 반드시 실행되는 블록
}
*finally 부분은 생략이 가능하다
*여러가지 예외가 발생한다면 catch부분을 여러개 작성하여도 된다
*예외 클래스에 Exception을 두게 되면 어떤 오류가 발생하든지 하나의 catch불록에서 모든 오류를 처리할 수 있다.
*본 게시물은 프로그래머스<자바입문>강의를 복습하며 작성한 글입니다.
'JAVA' 카테고리의 다른 글
JAVA(2022.05.14)-Exception발생시키기 (0) | 2022.05.14 |
---|---|
JAVA(2022.05.13)-Throws (0) | 2022.05.13 |
JAVA(2022.05.11)-내부 클래스 (0) | 2022.05.11 |
JAVA-(2022.05.10)-interface의 static 메소드 (0) | 2022.05.10 |
JAVA(2022.05.09)- interface의 default메소드 (0) | 2022.05.09 |