인터페이스(interface)란?
- 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서,
다른 클래스 사이의 중간 매개 역할까지 담당하는 일종의 추상 클래스 - 추상 클래스와 달리 추상 메소드와 상수만을 포함할 수 있다.
- 다중 구현 가능
인터페이스의 선언
접근제어자 interface 인터페이스이름 {
public static final 타입 상수이름 = 값;
...
public abstract 메소드이름(매개변수목록);
...
}
인터페이스의 구현
//원형
class 클래스이름 implements 인터페이스이름... {
...
}
//s:예시
interface Animal { public abstract void cry(); }
interface Pet { public abstract void play(); }
class Cat implements Animal {
public void cry() {
System.out.println("냐옹냐옹!");
}
public void play() {
System.out.println("쥐 잡기 놀이하자~!");
}
}
//e:예시
인터페이스의 장점
- 다중 상속
- 대규모 프로젝트 개발 시 일관되고 정형화된 개발을 위한 표준화 가능
- 클래스의 작성과 인터페이스의 구현을 동시에 진행할 수 있다.
- 개발 시간을 단축할 수 있다.
- 클래스와 클래스 간의 관계를 인터페이스로 연결하면 클래스마다 독립적인 프로그래밍이 가능하다.