자바를 사용하다보면 인터페이스를 사용할 때가 온다.
그럼 인터페이스는 무엇일까?
인터페이스는 일종의 가이드북, 설계도라고 볼 수 있다.
그렇다면 인터페이스는 왜 필요할까?
인터페이스의 필요성
자바에서는 상속이라는 기능이 있다.
상속을 통해 다양한 동작을 수행할 수 있는 장점을 갖는다.
그러나 다중 상속을 할 경우 여러가지 문제 때문에 다중 상속을 할 수가 없다.
따라서 이를 보완하기 위해 인터페이스로 다중 상속을 대체한다.
인터페이스의 구조
인터페이스의 구조는 다음과 같다.
interface Example{
public static final String name = "예제";
public abstract void Test();
public abstract void Test2(int a);
}
인터페이스에서는 메소드에 대해 구현 소스를 작성할 수 없다.
따라서 메소드는 모두 추상 메소드이며, 변수가 아닌 상수만 선언할 수 있다.
사용 방법
public class InterfaceExample implements Example {
@Override
public void Test(){
//TODO your task
}
@Override
public void Test2(int a){
//TODO your task
}
}
클래스에서 클래스 상속이 extends 였다면, 인터페이스는 implements를 사용한다.
다중 상속은 콤마( , )를 사용하여 할 수 있으며, 위와 같이 오버라이드를 하여 메소드에 맞는 구현 소스를 작성할 수 있다.