Dev.J
[JAVA] 문제 4-3 다형성 / 인터페이스 구현(Printer, UsbMemory -> Device) 본문
다음과 같은 설계로 인터페이스를 구현하세요.
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메모리를 연결합니다.
'Solved' 카테고리의 다른 글
[JAVA] 문제 6-2 객체를 이용한 다형성 / 배열을 이용하여 극장 예약시스템을 작성 (0) | 2021.09.06 |
---|---|
[JAVA] 문제 6-1 객체를 이용한 다형성 / 고객클래스 & VIP고객 클래스 (0) | 2021.09.06 |
[JAVA] 문제 4-5 Interface / 사용된 회사의 이름의 타이어를 출력 (0) | 2021.09.06 |
[JAVA] 문제 4-3 Interface / 인터페이스를 이용하여 가장 키 큰 사람 의 이름을 반환 (0) | 2021.09.06 |
[JAVA] 문제 4-1 Interface 사칙연산 계산기 (0) | 2021.09.05 |