///////
Search
☘️

인터페이스

목차

인터페이스란?

추상클래스의 한 종류. 다중 상속이 가능하며, 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할까지 담당한다.
예시

인터페이스의 장점

개발 시간 단축
설명 보기
코드 표준화
설명 보기
독립적인 프로그래밍이 가능
설명 보기
서로 관계없는 클래스들에게 관계를 맺어줄 수 있다
설명 보기

인터페이스 조건

인터페이스의 모든 필드는 public static final이어야함 (생략 가능)
모든 메소드는 public abstract 이어야 한다 (생략 가능)
추상 메소드와 상수만 포함 가능하다
생략한 접근제어자는 컴파일러가 자동 추가해준다.

인터페이스 vs 추상클래스

인터페이스
추상클래스
목적
구현 클래스 작성을 위한 밑그림
상속을 통한 기능 이용 및 확장
다중상속
O
X
추상 메소드, 상수
O
O
생성자, 필드, 일반메소드
X
O
필드(field) 란?

디폴트 메소드

인터페이스에서 구현할 수 있는 메소드. (자바 8부터 추가되었다.)
인터페이스의 default method는 'default'라는 키워드를 꼭 명시해야 한다.
예제

디폴트 메소드를 사용하는 이유

하위 호환성 을 위해 모든 구현 클래스를 수정하지 않고, 인터페이스에서 메소드를 구현하여 인터페이스를 보완할 수 있다.