Java

자바 프로그래밍 (Java) - 31 : 인터페이스

n.han 2016. 7. 14. 10:24

- 인터페이스 구현 시 주의할 점

 

1) 인터페이스의 메서드는 모두 추상 메서드이기 때문에 abstract여야 한다. , abstract는 생략 가능하다.

 

2) 인터페이스 메서드의 접근 제한자는 모두 public이어야 한다. , 생략 가능하다. (인터페이스의 기본 접근 제한자는 public이기 때문에)

 

3) 인터페이스를 구현하는 클래스의 메서드는public 키워드를 명시적으로 써주어야 한다. (클래스의 접근 제한자는 안 쓰면 default이기 때문에)

 

4) 인터페이스의 레퍼런스는 인터페이스를 구현한 클래스의 인스턴스를 참조할 수 있다.

 

5) 인터페이스의 필드는 모두 상수(final static)이다. 인터페이스에서는 final static을 모두 붙여주지 않아도 상관 없다.

 

6) 또한 인터페이스를 구현하는 클래스의 메서드에서 Checked Exception에 대해 throws Exception하는 경우,

 

메서드의 시그니처는 인터페이스와 같아야 하므로 인터페이스의 해당 메서드에 throws Exception 추가해주어야 한다.

 

, 특정 클래스에서 해당 인터페이스를 구현할 때 재정의한 메서드가 예외를 메서드 밖으로 던질 필요가 없는 경우에는

 

throws Exception을 생략할 수 있다 (, 인터페이스에서는 메서드가 발생 가능한 예외들을 모두 throws명시하는 것이다).

 

또한 Unchecked Exception throws하는 경우에는 인터페이스의 메서드의 시그니처를 변경할 필요없다.

 

(Unchecked Exception은 자동적으로 메서드 밖으로 예외를 던지므로.)

 

7) 클래스의 다중 상속은 허가하지 않지만, 클래스가 여러 인터페이스를 구현(implements)할 수 있으며

 

인터페이스는 다른 인터페이스의 다중 상속(extends)은 허가한다 (복잡도가 그리 증가하지 않기 때문에).