인터페이스?
- 결론 : 추상 메소드의 집합 (프로그래밍 관점)
- 핵심 : 구현된 것이 전혀 없는 설계도. 껍데기 (모든 것이 추상메소드이기 때문에, 모든 멤버가 public)
interface 인터페이스이름 {
public static final 타입 상수이름 = 값; // 상수는 가능, 무조건 final
public abstract 메소드이름(매개변수목록); // 추상 메소드
// 모든 인터페이스 멤버는 public, 메소드는 전부 추상
⇒ 인터페이스는 무조건 public, abstract, final이기 때문에 코드 쓸 때 생략 가능
⇒ 상수 코드에서 public static final 상수
중 3가지 선택 or 모두 생략 가능
인터페이스의 구현
- 인터페이스에 정의된 추상 메소드를 완성하는 것 (상속을 통해)
class 클래스이름 implements 인터페이스이름 { // 인터페이스에 정의된 추상메소드를 모두 구현해야 한다. }
implements
를 통해 구현함- 추상클래스는
extends
를 통해 상속해서 추상메소드를 구현하고, 인터페이스는implements
로 class를 통해 구현함.
출처
- 자바의 정석 기초편 : ch 7 - 35~37