IT/JAVA

[JAVA] 추상클래스 | 다형성 | 인터페이스 | 내부클래스 | 예외처리

o_zeew 2024. 4. 16. 15:13

2024.04.16 43일차

 

추상클래스

여러 클래스들간의 비슷한 필드와 메서드를 공통적으로 추출해 만들어진 클래스

1) 중복 코드를 최소화 할 수 있다.

2) 작업의 표준화를 꾀할 수 있다.

   * 인스턴스를 생성할 수 없고 반드시 상속되어 사용된다.

   * 추상 메서드는 반드시 오버라이드(Override) 해야함.

 

추상, 인터페이스를 설계할경우 해당 업무에 대한 해박한 지식이 없이는 불가능하다.

 

추상 클래스는 객체 생성 불가

 

* 하나의 클래스 안에서 여러개의 클래스는 가능하지만 public은 한개만 가능

 

다형성

다형성 : 서로 다른 생성자를 사용하여 하나의 클래스 타입의 객체를 생성하는 행위.

다형성의 행위가 가능한 이유 : 생성자가 있는 클래스는 반드시 객체타입으로 지정된 클래스를 상속받아야

                                                 다형성을 구현할 수 있다

 

 

내부클래스(inner class)

클래스 내부에서 또다른 클래스를 선언된 것(호불호)

class Outer{

       class M{...} //1) 멤버형 내부클래스

       String name;

       int score;

       public void print() {

             class L{...} //2) 로컬형 내부클래스

             int point=0;

             static class S{...} //3) 정적형 내부클래스

       }

       new Ano{...} //4) 익명형 내부클래스

}

 

 

** Unhandled exception 오류 발생시 try,catch 사용

 

 

 

예외처리

1) 예외처리하기

2) 예외 던지기

3) 예외 강제 발생 시키기

 

[예외처리하기 방법]

 

try{

   오류가 발생할 가능성이 있는 코드들

}catch(오류의 종류 e) {

   조치 내용

}catch(오류의 다른 종류 e2) {

   조치 내용

}finally{ //finally는 생략 가능

   오류 발생과 상관없이 무조건 실행할 코드

}

 

1) 예외처리하기

오류 발생 원인, finally

오류 수정 후

finally는 무조건 실행

 

2) 예외 던지기

예외처리를 직접 처리하지 않고 나를 호출한 곳에서 처리하도록 예외를 던지는 기능 - throws 예외 종류