Dev.J

[JAVA] 문제 4-3 다형성 / 인터페이스 구현(Printer, UsbMemory -> Device) 본문

Solved

[JAVA] 문제 4-3 다형성 / 인터페이스 구현(Printer, UsbMemory -> Device)

JJ____ 2021. 9. 6. 20:06

 다음과 같은 설계로 인터페이스를 구현하세요.

 

Device 추상클래스

public abstract class Device {
  public abstract void print();
}

 

Printer 클래스 extends Device implements Connectable

public class Printer extends Device implements Connectable {
  public void print(){ 
    System.out.println("프린터입니다.");
  }
  public void connect() {
    System.out.println(name +"와 프린터를 연결합니다.");
  }
}

 

UsbMem 클래스 extends Device implements Connectable

public class UsbMem extends Device implements Connectable {
  public void print(){ 
    System.out.println("UsbMem입니다.");
  }
  public void connect() {
    System.out.println(name + "와 Usb메모리를 연결합니다.");
  }
}

 

Connectable 인터페이스

public interface Connectable {
  public static final String name = "연결방법 : USB";
  public abstract void connect();
}

 

DeviceTest 클래스

public class DeviceTest {

public static void main(String[] args) {
  Device [] device = new Device [2]; //Printer와 UsbMem을 원소로 하는 Device 객체 배열 생성 부분이 막힘.
      device[0] = new Printer();
      device[1] = new UsbMem();

  device[0].print();
  ((Connectable)device[0]).connect(); //커넥트 메서드는 인터페이스에 속하므로 앞에 인터페이스명을 써줘야함

  device[1].print();
  ((Connectable)device[1]).connect();
  }
}

 

실행결과 :

프린터입니다.
연결방법 : USB와 프린터를 연결합니다.
UsbMem입니다.
연결방법 : USB와 Usb메모리를 연결합니다.

728x90