//인터페이스를 구현하는 클래스(implements는 다중구현 가능)
class Food implements FoodShop{
@Override
public void order() {
System.out.println(SHOPNAME);
//SHOPNAME="돈까스집"; final이라 변경 불가능
System.out.println("파스타를 주문합니다");
}
@Override
public void deliver() {
System.out.println("주문한 파스타 배달완료");
}
}
public class FoodInterEx05 {
public static void main(String[] args) {
//다형성으로 생성
//foodshop부모클래스, food자식클래스
FoodShop f=new Food();
f.order();
f.deliver();
}
}
//결과
파스타가게
파스타를 주문합니다
주문한 파스타 배달완료
~~~~~~~~~~~~~~~~~
(예제)
interface InterA{
public void draw(); //완성문장:그림을 그립니다
public void homework(); //숙제를 합니다
}
interface InterB{
public void play(); //친구들과 놀다
}
class InterImple implements InterA,InterB{ //2개의 인터페이스 구현
//3개의 미완성
@Override
public void draw() {
System.out.println("그림을 그립니다");
}
@Override
public void homework() {
System.out.println("숙제를 합니다");
}
@Override
public void play() {
System.out.println("친구들과 놀다");
}
}
public class InterEx06 {
public static void main(String[] args) {
//interimple로 생성하여 출력
System.out.println("자식클래스로 생성");
InterImple inter1=new InterImple();
inter1.draw();
inter1.homework();
inter1.play();
//다형성으로 출력
InterA i=new InterImple();
InterB j=new InterImple();
System.out.println("다형성 InterA");
i.draw();
i.homework();
System.out.println("다형성 InterB");
j.play();
}
}
//결과
그림을 그립니다
숙제를 합니다
친구들과 놀다
다형성 InterA
그림을 그립니다
숙제를 합니다
다형성 InterB
친구들과 놀다
~~~~~~~~~~~~~~~~~
(예제)
interface Color{
String INITCOLOR="White";
public void showColor();
}
class Red implements Color{
@Override
public void showColor() {
System.out.println("원래색상: "+INITCOLOR);
System.out.println("레드로 도색합니다");
}
}
class Blue implements Color{
@Override
public void showColor() {
System.out.println("블루로 도색합니다");
}
}
class Green implements Color{
@Override
public void showColor() {
System.out.println("그린으로 도색합니다");
}
}
public class ColorInterEx07 {
public static void main(String[] args) {
//다형성
Color color;
color=new Red();
color.showColor();
color=new Blue();
color.showColor();
color=new Green();
color.showColor();
//결과
원래색상: White
레드로 도색합니다
블루로 도색합니다
그린으로 도색합니다
'JAVA' 카테고리의 다른 글
| 210817_스캐너+다향성+switch (0) | 2021.08.17 |
|---|---|
| 210817_Abstract+배열 (0) | 2021.08.17 |
| 210817_추상클래스+다형성 (0) | 2021.08.17 |
| 210813_상속 (0) | 2021.08.13 |
| 210813_스캐너+클래스+메서드 (0) | 2021.08.13 |