오버로딩(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(1, 2);
test.sum(1.1, 1.2, 1.3);
}
}
|
![](https://blog.kakaocdn.net/dn/CpgTV/btqHMvqPCp7/1jw6arNvhDjXQdMN7EN0mk/img.png)
오버라이딩(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(2, 1);
System.out.println("이거는 오버라이딩을 안해서 원래껄로");
child.sum(1, 1.1, 1.2);
}
}
|
![](https://blog.kakaocdn.net/dn/bVKzkB/btqHR5SmQD8/Qeh9gAfh9ikTwYJqrTVKIK/img.png)
예제 다운로드 : https://github.com/daum7766/java_study/tree/master/overloadingAndOverriding
'프로그래밍언어 > Java' 카테고리의 다른 글
자바(Java) 왜 for-each문을 추천할까? (2) | 2021.08.25 |
---|---|
자바(Java)에서 예외(Exception)란 무엇인가? (0) | 2021.02.25 |
자바(Java) - 불변 객체? Final 키워드? (0) | 2020.08.27 |
자바(Java) - Interface란 무엇인가(정의, 사용이유, 예제)? (1) | 2020.08.26 |
자바(Java) - 접근 제어자(제한자, access modifier)란 무엇인가? (0) | 2020.08.23 |
댓글