다형성을 구현하는 방법 중에는 오버로딩과 오버라이딩이 있다.
다형성 : 하나의 객체가 여러가지 타입을 가질 수 있는 것
같은 이름의 메소드
를 여러 개 가지면서 매개변수의 타입과 개수
를 다르게 정의하는 것을 의미한다.
System.out.println(); //매개변수의 개수가 다름
System.out.println(boolean x);
System.out.println(String x);
System.out.println(int x);
System.out.println(double x); //매개변수의 타입이 다름
...
상위 클래스가 가지고 있는 메소드를 하위 클래스에서 재정의해서 사용하는 것을 의미한다.
class Parent {
public void func() {
System.out.println("나는 부모야");
}
}
class Child extends Parent {
@Overriding
public void func() {
System.out.println("나는 자식이야");
}
}