Override & Overload

7129 단어 JavaJava
  • Override (재정의)
    * 부모 클래스에 있는 메서드를 자식 클래스에서 재정의 하는 것
class ParentClass {
    public ParentClass() {
    }

    public void method1() {
        System.out.println("ParentClass method1()");
    }

    public void method2() {
        System.out.println("ParentClass method2()");
    }
}

class ChildClass extends ParentClass {
    public ChildClass() {
    }

    @Override
    public void method1() {
        System.out.println("***ChildClass method1()");
    }

    public void method3() {
        System.out.println("ChildClass method3()");
    }
}
* 부모 클래스(ParentClass)를 자식 클래스(ChildClass)에게 상속
* @Override로 값 재정의
public class App {
    public static void main(String[] args) {
        ChildClass childClass = new ChildClass();

        childClass.method1();
        childClass.method2();
        childClass.method3();
    }
}
* 자식클래스에게 부모클래스가 상속 (extends ParentsClass) 했기 때문에 method3이 없어도 출력가능
* method1은 @Override 하여 자식클래스1 출력
* method2는 부모클래스2 출력, 3은 자식클래스3 출력
  • Overload (과적해서 싣는 것)
    동일한 이름으로 다양한 매개변수와 다양한 리턴타입의 여러 메소드를 정의하는 것
    동일한 이름으로 정의 가능, 메서드 이름 절약 가능
 long add(int a, long b, int c) {
        return a + b;
    }

 long add(long a, int b) {
        return a + b;
    }
* 같은 add 메서드 이름
* 매개변수 숫자가 다르다
* 숫자가 같다면 위 a와 밑a는 타입을 다르게 해주어야한다

좋은 웹페이지 즐겨찾기