[JAVA] 추상클래스 | 다형성 | 인터페이스 | 내부클래스 | 예외처리
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) 예외처리하기
오류 수정 후
2) 예외 던지기
예외처리를 직접 처리하지 않고 나를 호출한 곳에서 처리하도록 예외를 던지는 기능 - throws 예외 종류