JAVA

210817_인터페이스+다형성

요옫 2021. 8. 17. 15:06

//인터페이스를 구현하는 클래스(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