JAVA 자료실

다형성(Polymorphism)

작성자 정보

  • 작성자 최고관리자
  • 작성일

컨텐츠 정보

본문


//Main.java -----------------------------------------------------------------------
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        System.out.println("Peach : 1 ");
        System.out.println("Banana : 2 ");
        System.out.print("표시할 과일을 선택하시요.");
        
        int selectAnimal = sc.nextInt();
        
        if (selectAnimal == 1) {
            Fruit fruit = new Peach();  // 다형성은 상속된 자식의 내용을 받아 부모 클래스에서 사용할 수 있다.
            System.out.println("선택한 과일은 " + fruit.name + "입니다.");
            fruit.show();
        } else if (selectAnimal == 2) {
            Fruit fruit = new Banana();  // 다형성은 상속된 자식의 내용을 받아 부모 클래스에서 사용할 수 있다.
            System.out.println("선택한 과일은 " + fruit.name + "입니다.");
            fruit.show();
        } else {
            System.out.println("1 또는 2를 선택해 주세요.");
        }
	}
}



// Fruit.java -----------------------------------------------------------------------(부모)
public class Fruit {
	String name;
	int unitPrice;
	int quantity;
	public void show() {
		System.out.println("이름 : " + name);
		System.out.println("단가 : " + unitPrice);
		System.out.println("수량 : " + quantity);
		System.out.println("금액 : " + unitPrice * quantity);
	}
}



// Peach.java -----------------------------------------------------------------------(자식:상속)
public class Peach extends Fruit {
	
	public Peach() {	// 
		
		name = "복숭아";
		unitPrice = 3000;
		quantity = 3;
	}
}



// Banana.java -----------------------------------------------------------------------(자식:상속)
public class Banana extends Fruit {

	public Banana() {
		
		name = "바나나";
		unitPrice = 1000;
		quantity = 5;
	}
}

관련자료

댓글 0
등록된 댓글이 없습니다.
알림 0