본문 바로가기

자바

오버라이딩(Overriding) 과 오버로딩(Overloading)의 차이

 

 

오버라이딩(Overriding) : 상위 클래스에 있는 메소드를 하위 클래스에서 재정의해서 사용하는 것

오버로딩(Overloading) : 매개변수의 개수나 타입을 다르게 하여 같은 이름의 메소드를 여러 개 정의해서 사용하는 것

 

오버라이딩

class A {
    public void functionA() {
        System.out.println("functionA from class A");
    }
    public void functionB() {
        System.out.println("functionB from class A");
    }
}

class B extends A{
    @Override
    public void functionA() {
        System.out.println("functionA from class B");
    }

    @Override
    public void functionB() {
        System.out.println("functionB from class B");
    }
}

 

오버로딩

static void funcA(int a ) {
    System.out.println("정수 매개변수");
    System.out.println(a);
}
static void funcA(float a) {
    System.out.println("실수 매개변수");
    System.out.println(a);
}

// 실행 결과
// 정수 매개변수
// 10
// 실수 매개변수
// 10.0

 

'자바' 카테고리의 다른 글