[JAVA] 예외처리, API
마커 인터페이스(Marker interface)
- 클래스들을 그룹화하기 위한 목적으로 사용한다.
- 인터페이스는 지정한 클래스의 부모이며, 모든 자식은 부모의 타입이므로
마커 인터페이스를 지정받은 클래스들이 하나의 타입으로 묶이게 된다.
------------------------------------------------------------------
다중 상속
- 여러 부모 클래스를 상속하는 것을 다중 상속이라고 한다.
- JAVA는 모호성 때문에 다중 상속을 지원하지 않는다.
- 하지만 JDK8 버전부터는 인터페이스에 default 메소드 선언을 허용하며,
여러 개를 지정할 수 있는 인터페이스 특성 상 다중 상속을 지원하는 것이나 다름이 없다.
모호성(ambiguity)
- 하나의 자식이 여러 부모를 상속받을 때 부모 필드에 동일한 이름의 필드가 있다면,
어떤 부모의 필드인지 알 수가 없다. 이를 모호성이라고 부른다.
모호성 해결 방법
- 상황1 : 두 개의 인터페이스 내에 똑같은 메소드가 선언되어 있다.
- 해결 : 자식 클래스에서 재정의하여 사용한다.
- 상황2 : 부모 클래스의 메소드와 인터페이스의 디폴트 메소드가 똑같이 선언되어 있다.
- 해결 : 부모 클래스의 메소드가 사용된다.
============================================================================
예외 처리
에러 : 심각한 오류
예외 : 덜 심각한 오류
예외 처리 문법
try{
오류가 발생할 수 있는 문장
}catch(예외이름 객체명){
오류 발생 시 실행할 문장
}catch(예외이름 객체명){
오류 발생 시 실행할 문장
}
..
}finally{
오류 발생 여부에 상관없이 무조건 실행할 문장
※ 외부 장치와 연결했을 경우 다시 닫을 때 주로 사용된다.
Alt + Shift + Z
예외 처리를 사용하는 이유
- 제어문으로는 처리할 수 없는 경우
- 프로그램이 강제종료되는 것을 막기 위함
============================================================================
API(Application Programming Interface)
개발에 필요한 라이브러리들의 집합
- 내부 API
JDK 설치 시 제공해주는 기본 API
docs.oracle.com/javase
- 외부 API
선배 개발자들이 개발한 패키지 및 클래스들을 의미한다.
보통 JAR파일로 배포하며 자바 프로젝트의 빌드 패스에 추가하여 사용한다.
- 외부 API Build path에 추가
배포된 JAR 파일 다운 받기
> 프로젝트 우클릭 > Build Path > Configure Build Path
> Libraries 탭 클릭 > Add External JARs 클릭
> 저장한 경로의 .jar파일 더블 클릭 > Apply 클릭
> Orders and Exports 탭 클릭
> Select All 클릭 > Apply and Close 클릭