본문 바로가기
자바

인터페이스(interface), 다중상속(implements)

by tiit 2020. 2. 19.
반응형

인터페이스 : 자바에서 객체의 사용 방법을 정의한 타입이다. 객체의 교환성을 높여주기 때문에 다형성을 구현하는 매우 중요한 역할을 한다. 

개발 코드와 객체가 서로 통신하는 접점이라고 생각하면 될 것 같다.

 

인터페이스 앞에 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

댓글