
자식 클래스가 여러 부모 클래스를 상속받을 수 있게 해주는 클래스
추상(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 {
    예외 발생 유무와 관계없이 처리할 코드
}