Override & Overload
- 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는 타입을 다르게 해주어야한다
Author And Source
이 문제에 관하여(Override & Overload), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@xio810/Override-Overload저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)