요코하마맨

JAVA
자바의 인터페이스
2020.03.13 03:31

인터페이스는 일종의 추상클래스이다.
인터페이스는 추상클래스처럼 추상메서드를 갖지만
추상클래스보다 추상화의 정도가 높아서 추상클래스와 달리
'몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다.'

추상클래스를 부분적으로만 완성된 ‘미완성 설계도’라고 한다면,
인터페이스는 구현된 것은 아무것도 없고 밑그림만 그려져 있는 ‘기본 설계도’라 할 수 있다.

일반적인 클래스의 멤버들과 달리 인터페이스의 멤버들은 다음과 같은 제약사항이 있다.
* 모든 멤버변수는 public static final 이어야 하며, 이를 생략할 수 있다.
* 모든 메서드는 public abstract 이어야 하며, 이를 생략할 수 있다.
단, static메서드와 디폴트 메서드는 예외(JDK1.8부터)
생략된 제어자는 컴파일 시에 컴파일러가 자동적으로 추가해준다.

인터페이스는 인터페이스로부터만 상속받을 수 있으며, 클래스와는 달리 다중상속,
즉 여러개의 인터페이스로부터 상속을 받는 것이 가능하다.



이미지 출처 : 자바의 정석


JAVA카테고리 다른 글
번호 제목 날짜 조회
69 자바의 내부클래스 03.13 442
70 자바의 익명클래스 03.13 513
71 자바의 인터페이스 03.13 549
72 자바의 인터페이스 디폴트메서드 static메서드 03.13 578
73 자바의 형식화 03.13 581