interface Shape {
final double PI = 3.14; // 상수
void draw(); // 도형을 그리는 추상 메소드
double getArea(); // 도형의 면적을 리턴하는 추상 메소드
default public void redraw() { // 디폴트 메소드
System.out.print("--- 다시 그립니다.");
draw();
}
}
다음 main() 메소드와 실행 결과를 참고하여, 인터페이스 Shape을 구현한 클래스 Circle를 작성하고 전체 프로그램을 완성하라.
public static void main(String[] args) {
Shape donut = new Circle(10); // 반지름이 10인 원 객체
donut.redraw();
System.out.println("면적은 "+ donut.getArea());
}
class Circle implements Shape {
private int radius;
public Circle(int radius) {
this.radius = radius;
}
public void draw() {
System.out.println("반지름이 "+radius+"인 원입니다.");
}
public double getArea() {
return PIradiusradius;
}
}
interface RemoteControl {
void turnOn();
void turnOff();
public default void printBrand() { System.out.println("Remote Control 가능 TV"); }
}
public class TestInterface {
public static void main(String args[]){
RemoteControl obj = new Television();
obj.turnOn();
obj.turnOff();
obj.printBrand();
}
}
Television 클래스를 구현하시오.
출력
TV가 켜졌습니다.
TV가 꺼졌습니다.
브랜드 TV입니다.
package java_0927_interface;
interface RemoteControl {
void turnOn();
void turnOff();
public default void printBrand() {
System.out.println("Remote Control 가능 TV");
}
}
class Television implements RemoteControl {
boolean on;
public void turnOn() {
on = true;
System.out.println("TV가 켜졌습니다.");
}
public void turnOff() {
on = false;
System.out.println("TV가 꺼졌습니다.");
}
@Override
public void printBrand() {
System.out.println("브랜드 TV입니다.");
}
}
public class TestInterface {
public static void main(String args[]) {
RemoteControl obj = new Television();
obj.turnOn();
obj.turnOff();
obj.printBrand();
}
}