인터페이스는 클래스와 동급이다.
interface는
- 추상메서드와 상수만 정의 가능하다.
- 생성자가 없다.
- 클래스에 의해서 구현된다.(다형성 개념)
- 다중 구현 가능
interface Test
{
public final int x = 100;
int y = 100;
//public final 은 생략가능
public abstract void add();
void add2();
//public abstract 생략가능
}
class InterfaceTest extends Object implements Test
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
public void add()
{}
public void add2()
{}
}
//InterfaceTest 입장에서는 Object와 Test모두 상속 받은 것이라고 보면된다.
//게다가 인터페이스를 상속(구현) 받았기때문에 메서드를 오버라이딩 해주어야한다!
//그리고 Test는 인터페이스이기때문에 Test t = new InterfaceTest ();로 해야함