자식 클래스가 여러 부모 클래스를 상속받을 수 있게 해주는 클래스
추상(abstract) 메소드와 상수(public)만 가능, 생략 가능(컴파일러에서 자동 생성)
인스턴스(객체)를 생성하지 못하기 때문에, 자식 클래스에서 인스턴스를 생성해줘야 함
예:
public interface 인터페이스1 {
public void test1();
}
-------------------------------------------------------------------------------
public interface 인터페이스2 {
public void test2();
}
-------------------------------------------------------------------------------
class 자식클래스 implements 인터페이스1, 인터페이스2 {
@Override
public void test1() {
System.out.println("Hello");
}
@Override
public void test2() {
System.out.println("World");
}
}
-------------------------------------------------------------------------------
public class 인터페이스 테스트 {
public static void main(String[] args) {
인터페이스1 x = new 자식클래스();
인터페이스2 y = new 자식클래스();
x.test1();
y.test2();
}
}
class 클래스명 {
private static 클래스명 객체명 = new 클래스명(); // 직접적인 접근 불가
private 클래스명() {} // 다른 클래스의 생성자 제한
public static 클래스명 메서드명() { // 다른 클래스에서 사용 가능한 메서드
return 객체명;
}
}
실행 중인 프로그램이 영향을 받는 것에는 오류(error)와 예외(exception)의 두가지가 존재
오류는 심각한 문제를 발생시키며 현재 프로그램을 종료하고, 따로 오류에 대한 처리가 불가함
예외의 경우에도 현재 프로그램을 종료시키지만, 미리 예측하여 처리할 수 있다는 점이 차이점
예외를 처리하기 위해 try
, catch
, finally
문을 사용
최상위 부모 코드를 가장 마지막에 작성해야함
try {
예외 발생 가능성이 있는 코드
} catch (a1) {
a1 예외 발생 시 실행 될 코드
} catch (a2) {
a2 예외 발생 시 실행 될 코드
}
finally {
예외 발생 유무와 관계없이 처리할 코드
}