인터페이스란
추상메서드의 집합::java8 이전까지
Java에서 객체의 사용 방법을 정의한 타입
역할
- 인터페이스는 개발코드 와 객체가 서로 통신하는 접점 역할
인터페이스의 구성요소
- 추상메서드
- 상수필드
- 생성자가 존재하지 않음
- java8이후 허용하는 메서드
- default void 메서드이름{}
- static void 메서드이름{}
인터페이스의 정리
- 인터페이스:
- 객체의 사용 방법을 정의한 타입이며 개발코드와 객체가 서로 통신하는 접점 역할 한다.
- 개발코드가 인터페이스의 메서드를 호출하면 인터페이스는 객체에 메서드를 호출한다.
- 멤버구성요소: 추상메서드, 상수(final static)필드, java8버전이후 default 메서드, static메서드 추가
- 상수필드:
- 기본적으로 public final static의 키워들 갖습니다. 생략해도 무방
- 필드이름 일반적으로 대문자로 표기한다.
- initializer(생성자,static{}) 존재하지 않아 선언과 동시 초기화해야한다
- 추상메서드:
- 인터페이스에 선언된 추상 메서드로 public abstract 생략해도 적용된다.
- 구현클래스는 반드시 Override(재정의)해야한다. {}구현해야한다.
- implements:
- 클래스에 구현시 implements 키워드 사용, 다중 구현 가능하다.
- class 클래스이름 implements 인터페이스이름1, 인터페이스이름2{}
//interface vs interface
interface AAA{}
interface BBB{}
interface CCC extends AAA, BBB{}
//class vs class
class EEE{}
class DDD extends EEE{}
//class vs interface
class FFF implements AAA, BBB{}
//interface의 부모로 class는 사용하수 없다.