인터페이스란?
-서로 다른 하드웨어 장치들이 상호 데이터를 주고 받을 수 있는 구격을 의미
#.인터페이스(interface)
-interface 키워드 사용
#.인터페이스 구성
-상수와 추상메서드(java 7까지)
-default 메서드(java 8부터)
-private 메서드(java 9부터)
- static 메서드(java 9부터)
>추상메서드는 abstract로 정해져 있다
> default, private, static 메소드들은 모두 인터페이스 내에 코드가 있어야 한다.
> default 메소드 접근 지정은 public으로 고정
> private 메소드는 인터페이스 내에서만 호출 가능
> static 메소드는 접근 지정이 생략되면 public, private로 지정 가능
#.인터페이스는 객체 생성 불가
- 구현되지않은 추상 메서드를 가질 수 있기 때문에
#.인터페이스 타입의 레퍼런스 변수는 선언 가능
ex) PhoneInterface galaxy;
#.인터페이스끼리 상속 가능
#.인터페이스를 상속받아 클래스 작성 시 인터페이스에 추상 메소드가 있다면 반드시 구현
#.인터페이스 구현
-implements 키워드 사용
결과
** Phone **
띠리리리링
전화가 왔습니다.
전화기에 불이 켜졌습니다.
#.인터페이스 상속
-인터페이스끼리만 상속이 가능하다
-extends 키워드 사용
-다중 상속 허용
#.인터페이스의 목적
-다형성 실현
#.클래스 상속과 함께 인터페이스 구현
*다중 상속, 다중 인터페이스 구현을 남용하면 인터페이스 간의 관계가 복잡해져 구조 파악 어려움 주의
'JAVA' 카테고리의 다른 글
JAVA - 컬렉션(Collection)과 제네릭(Generics) (1) | 2022.12.22 |
---|---|
JAVA - 인터페이스와 추상클래스 비교 (0) | 2022.12.20 |
JAVA - 추상클래스 (0) | 2022.12.19 |
JAVA - 캐스팅(casting) (0) | 2022.12.19 |
JAVA - final (0) | 2022.12.17 |