프로그래밍언어/Java

자바(Java) - 오버로딩(Overloading)과 오버라이딩(Overriding) 이란?

멍토 2020. 9. 1.

오버로딩(Overloading)

오버로딩은 같은 이름의 함수를 여러개 정의하고,

매개변수의 유형과 개수를 다르게 하여 다양한 유형의 호출에 응답하게 한다.


package main.java.overloadingAndOverriding;
 
public class TestClass {
    public void sum(int a, int b) {
        System.out.println("a + b = " + a+b);
    }
 
    public void sum(double a, double b, double c) {
        System.out.println("a + b + c = " + a+b+c);
    }
 
}
package overloadingAndOverriding;
 
import main.java.overloadingAndOverriding.TestClass;
 
public final class App {
    public static void main(String[] args) {
        TestClass test = new TestClass();
        System.out.println("오버로딩 테스트");
        test.sum(12);
        test.sum(1.11.21.3);
    }
}

 

오버라이딩(Overriding)

상위클래스가 가지고있던 메소드를 재정의해서 사용하는 것을 오버라이딩이라고 한다.
package main.java.overloadingAndOverriding;
 
public class ChildClass extends TestClass {
    
    @Override
    public void sum(int a, int b) {
        System.out.println("a + b 인척하는 a - b =" + (a - b));
    }
}
package overloadingAndOverriding;
 
import main.java.overloadingAndOverriding.ChildClass;
 
public final class App {
    public static void main(String[] args) {
        ChildClass child = new ChildClass();
        System.out.println("오버라이딩 테스트");
        child.sum(21);
        System.out.println("이거는 오버라이딩을 안해서 원래껄로");
        child.sum(11.11.2);
    }
}

 

예제 다운로드 : https://github.com/daum7766/java_study/tree/master/overloadingAndOverriding

 

댓글

💲 광고입니다.