인터페이스
일반적으로 서로 다른 하드웨어 장치들이 상호접속하여 데잍를 주고받을 수 있는 규격.
Java에서는 추상 클래스와 거의 비슷한 메커니즘을 인터페이스라는 기능을 사용하여 표현할 수 있다.
▶ 인터페이스 선언
interface iVehicle{
void show(); //추상메소드
}
클래스를 선언하는 방법과 유사하지만, 'class' 대신 'interface' 키워드를 사용한다.
인터페이스 선언 규칙
- 인터페이스의 멤버는 추상메소드와 상수로만 구성된다.
- 모든 메소드는 public이며 생략이 가능하다.
- 인터페이스의 객체를 생성할 수 없다.
- 다른 인터페이스에 상속될 수 있다.
- 인터페이스도 레퍼런스 변수의 타입으로 사용이 가능하다.
▶ 인터페이스 구현
public class Car implements iVehicle{
public void show(){
//코드작성...
}
}
인터페이스의 추상 메소드를 클래스에서 구현하는 것이다.
이때 반드시 인터페이스의 모든 추상메소드를 구현하여야 한다.
- 인터페이스 다중 구현
콤마로 인터페이스를 구분하여 나열한다.
- 클래스 상속과 함께 인터페이스 구현
슈퍼클래스의 상속과 동시에 인터페이스를 구현하는 것도 가능하다.
▶ 인터페이스와 추상클래스 차이점
인터페이스 | 추상클래스 |
모든 메소드가 추상 메소드이다. | 일반 메소드를 포함할 수 있다. |
상수는 필드만 포함이 가능하다. | 상수, 변수 필드 포함이 가능하다 |
다중 상속이 가능하다. | 모든 서브클래스에 공통된 메소드가 있는 경우 추상클래스가 적합하다. |
'JAVA' 카테고리의 다른 글
필터 (Filter) (0) | 2020.05.12 |
---|---|
Servlet (서블릿) (0) | 2020.05.08 |
추상 클래스 (0) | 2020.04.27 |
메소드 오버라이딩 (0) | 2020.04.27 |
상속(extends) (0) | 2020.04.22 |