interface 문제

JungSik Heo·2022년 9월 26일
0
post-custom-banner

다음은 도형의 구성을 묘사하는 인터페이스이다.

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를 구현하여 보자.

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();
}
}

profile
쿵스보이(얼짱뮤지션)
post-custom-banner

0개의 댓글