Computer Science/Java

Java - 다형성

ajdanddl 2020. 1. 27. 18:57
반응형

 

다형성(Polymorphism)은 부모 클래스를 정의한 다음 자식 클래스가 부모 클래스를 상속받아 

자식 클래스 만의 특징을 쉽게 변경-관리 할 수 있다는 특징이 있습니다.

 

즉, 하나의 메소드/클래스만으로 다양한 기능을 만들어낼 수 있다는 특징이 바로 다형성입니다.

 

여기서 해볼 예제로는 부모클래스의 경우 과일 클래스를 만들어주고

자식 클래스로 바나나와 복숭아 클래스를 만들어 과일 클래스를 상속받아올 것입니다.

 

과일 클래스

1
2
3
4
5
6
7
8
9
10
11
12
public class Fruit {
    String name;
    int price;
    int fresh;
    
    public void show() {
        System.out.println("이름 : "+name);
        System.out.println("가격 : "+price);
        System.out.println("신선도 : "+fresh);
    }
}
 
cs

 

 

복숭아 클래스

1
2
3
4
5
6
7
8
public class Peach extends Fruit {
    public Peach() {
        name = "복숭아";
        price = 1000;
        fresh = 5;
    }
}
 
cs

 

바나나 클래스

1
2
3
4
5
6
7
8
public class Banana extends Fruit {
    public Banana(){
        name = "바나나";
        price = 1000;
        fresh = 6;
    }
}
 
cs

 

Main 클래스

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("바나나 : 1, 복숭아 : 2");
        int input = sc.nextInt();
        Fruit fruit;
        if(input ==1)
            fruit = new Banana();
        else
            fruit = new Peach();
        fruit.show();
    }
 
}
 
cs

 

출력결과

반응형

'Computer Science > Java' 카테고리의 다른 글

[Spring 인프런 강의] 0~1단원  (0) 2020.08.06
[Java] - Eclipse 프로젝트 Github 연동  (0) 2020.02.17
Java - 인터페이스  (0) 2020.01.27
Java - Final  (0) 2020.01.27
Java - 추상화  (0) 2020.01.26