자바 상속에서 인터페이스를 생성하는 이유가 뭔가요?

조회수 617회

자바 배운지 1달하고 반이 되어가네요.. 자바 상속에서 인터페이스를 생성하는 이유가 뭔가요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 기능을 분리할 수가 있고 그 기능에 대한 설명서 입니다.

    interface 자동차 {
        void drive();
    }
    
    interface 삽 {
        void dig();
    }
    
    // 포크레인은 자동차이면서 삽이 달려 있습니다. 기능을 두개 가지고 있는 것이죠.
    class 포크레인 implements 자동차, 삽 {
        public void drive() {
            // 포크레인용 자동차 구현
        }
        public void dig(){
            // 포크레인용 삽 구현
        }
    }
    
    class 버스 implements 자동차 {
        public void drive(){
            // 버스 자동차 구현
        }
    }
    
    // 아래와 같이 운전자 클래스의 execute 를 통해 자동차들을 운전할 수 있습니다.
    class 운전자 {
        public void execute(자동차 car) {
            car.drive();
        }
    }
    
    // 아래와 같이 수행할 수 있습니다.
    자동차 forkcrane = new 포크레인();
    자동차 bus = new 버스();
    
    운전자 driver = new 운전자();
    driver.execute(forkcrane);    // 포크레인 운전
    driver.execute(bus);  // 버스 운전
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)