Language/Java

[Java] 자바 다형성(Polymorphism)

비독개 2020. 4. 24. 18:35

다형성(Polymorphism)

: 같은 자료형에 여러 가지 객체를 대입하여 다양한 결과를 얻어내는 성질.

- 하나의 메소드나 클래스가 있을 때 이것들이 다양한 방법으로 동작하는 것

 

ex) 메소드의 다형성

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package Test;
 
public class PolymorphismTset {
 
    public static void main(String[] args) {
        method(1);
        method("one");
    }
    public static void method(int num) {
        System.out.println("숫자출력");
        System.out.println(num);
    }
    public static void method(String str) {
        System.out.println("문자출력");
        System.out.println(str);
    }
}
 

 

<출력결과>

숫자출력

1

문자출력

one

 

: method라는 메소드에 다형성을 형성하여 한번은 숫자출력을 위한 int num를 매개변수로 선언하여 정수를 출력하여주고, 또다른 하나는 String str 이라는 매개변수를 통하여 문자열을 출력할 수 있게 해준다.

이처럼 함수에 다형성을 부과하여 여러가지 방법으로 선언,호출하여 사용할 수 있다.

(오버로딩은 다형성의 한 예라고 할 수 있다.)

 

ex) 클래스의 다형성