인터페이스 : 자바에서 객체의 사용 방법을 정의한 타입이다. 객체의 교환성을 높여주기 때문에 다형성을 구현하는 매우 중요한 역할을 한다.
개발 코드와 객체가 서로 통신하는 접점이라고 생각하면 될 것 같다.
인터페이스 앞에 public abstract를 생략한다.
인터페이스를 상속받는 실제 클래스는
class 클래스명 implements 인터페이스명 {}
상위 인터페이스의 메서드를 재정의 하여야 한다.
자바는 다중상속을 지원하지 않는다 but implements가 다중상속을 대신해준다.
예)
class Solution {
interface Book{
public int getRentalPrice(int day);
}
class ComicBook implements Book { //인터페이스 Book을 상속받음
public int getRentalPrice(int day){
int cost = 500;
day -= 2;
if(day > 0)
cost += day*200;
return cost;
}
}
class Novel implements Book { //인터페이스 Book을 상속받음
public int getRentalPrice(int day){
int cost = 1000;
day -= 3;
if(day > 0)
cost += day*300;
return cost;
}
}
'자바' 카테고리의 다른 글
이진탐색 (Binary Search) (0) | 2020.04.10 |
---|---|
우선순위 큐(Priority Queue) (0) | 2020.04.05 |
LinkedList (0) | 2020.04.04 |
ArrayList (0) | 2020.04.03 |
List interface Stack (0) | 2020.04.03 |
댓글