티스토리 뷰

추상 클래스는 부분적으로 완성된 미완성 설계도, 인터페이스는 밑그림만 있는 기본 설계도

-인터페이스의 상속
 인터페이스끼리 상속 가능하며 다중 상속 가능
 
-인터페이스의 구현
 자신에 정의된 추상메소드의 몸통 만드는 클래스 작성시 implements 키워드 이용
 만약, 인터페이스의 메소드 중 일부만 구현한다면 추상 클래스로 만들어야 함

-인터페이스를 이용한 다중 상속
 클래스 A와 클래스 B가 있을 때, IB라는 인터페이스를 만들어서 B의 메소드들과 
 같은 형태의 추상메소드를 만들어 놓고 A를 상속하고 IB를 구현하는 클래스를 만들고
 내부에 클래스 B를 선언하여 인터페이스들의 추상 메소드를의 몸통을 채울 경우
 다중 상속과 같은 효과를 가진다.

public class TVCR extends Tv implements IVCR {

   VCR vcr = new VCR();
   public void play() {
      vcr.play();
   }
   public void stop(){
      vcr.stop();
   }
   public void reset() {
      vcr.reset();
   }

   ....
}

참조 : 자바의 정석
댓글