인터페이스란 ?
클래스를 위한 템플릿으로서의 기능을 수행하는 추상 클래스의 한 종류이다.
[ 특징 ]
- 인터페이스는 interface라는 키워드를 사용하여 선언하며, 메소드 시그니처와 상수 선언만을 포함할 수 있다.
(메소드 시그니처 : static , 상수 : final)
** 자바 8미만의 인터페이스는 모든 메소드가 선언만 있고 정의가 없는 추상메소드만 선언 가능
** 자바 8부터는 default 와 static 메소드는 interface정의에 구현체를 가질 수 있다.
- 인터페이스 내의 필드는 상수 선언만 한다.
- 클래스에서 인터페이스를 구현하기 위해서는 implements키워드를 사용
- 클래스가 추상클래스가 아닌 경우 인터페이스를 implements한 클래스는 해당 인터페이스의 모든 추상 메소드를
재정의 해야함
- 인터페이스는 다중 상속이 가능. 다중상송윽 ","로 구분하여 여러개의 인터페이스를 상속할 수 있다.
- 인터페이스끼리 상속 할 경우 extends키워드를 사용
[ 장점 ]
- 클래스간 결합도를 낮출 수 있다.
- 표준화가 가능하다.
- 개발시간을 단축할 수 있다.
# 클래스와 인터페이스
# 인터페이스 작성
1) 디폴트 메소드
- public을 생략해도 public특성을 가짐.
- 디폴트 메소드를 사용하기 위해서는 반드시 인터페이스를 구현한 클래스의 객체를 생성한 후에만 사용 가능
- 인터페이스를 상속 받은 인터페이스는 디폴트 메소드를 재정의하거나 다시 추상 메소드로 선언 할 수 있다.
2) 정적 메소드
- static메소드는 public을 생략해도 public특성을 갖는다.
3) private 메소드
'JAVA' 카테고리의 다른 글
[JAVA] 입출력 스트림 (I/O Stream) (0) | 2020.08.18 |
---|---|
[JAVA] 생성자 (4) | 2020.08.11 |
[JAVA] String _ API (0) | 2020.08.06 |
[JAVA] 비정형인자 (0) | 2020.08.04 |
[JAVA] 재귀 호출 (0) | 2020.08.04 |