인터페이스
- 완벽한 추상화된 클래스(기존, 추상메서드만 선언 가능)
- 디폴트, 정적 메서드의 선언이 가능 (1.8버전 이후로 직접 구현이 가능해짐)
- 선언시에 class 키워드 대신에 interface 키워드를 사용해야 한다.
- 인터페이스에 선언되는 모든 변수는 상수개념으로 자동 처리된다.
: 자동으로 public static final 키워드가 추가된다.
- 선언되는 메서드는 자동으로 public abstract가 추가된다.
(1.8버전 추가 - default, static 메서드 제외)
- 클래스가 인터페이스를 상속 받을 때는 implements 키워드를 사용
상속(확장)의 개념보다 구현의 개념
class -> class : extends
interface -> interface : extends
class -> interface : implements
interface -> class : X
- 인터페이스를 상속받는 하위 클래스는 인터페이스에 있는 추상메서드를 오버라이딩(재정의) 해야한다.
- 인터페이스는 객체 생성을 할 수 없다. (new)
- 인터페이스 타입의 객체 변수는 하위 클래스를 통해서 얻을 수 있다.
- 인터페이스는 다중 상속이 가능하다.
- 클래스는 인터페이스를 다중상속(구현) 할 수 있다.
Java - 예외, Exception, try~catch~finally (0) | 2018.09.28 |
---|---|
Java - final (0) | 2018.09.28 |
Java - 추상 클래스 (0) | 2018.09.28 |
Java - 객체의 형변환 - 명시적 형변환 (0) | 2018.09.28 |
Java - 객체의 형변환 - 묵시적 형변환 (0) | 2018.09.28 |
댓글 영역