Knowledge/CS
[CS] Overriding 과 Overloading의 차이점
YoonJong
2022. 12. 9. 13:23
728x90
반응형
오버라이딩(Overridng) : 부모 클래스의 메서드를 재정의 하는 것
오버로딩(Overloading) : 메서드 이름은 동일하지만, 매개변수(인자)를 다르게 하는 것을 의미한다.
예제로 알아보는 것이 가장 좋다.
오버라이딩의 예
class Parent {
String name;
String age;
public void info() {
System.out.println("이름은" + name+ ", 나이는 " + age);
}
}
class Son extends Parent {
String home;
// info 메서드 재정의
public void info() {
System.out.println("집은 " + home);
}
}
public class Main {
public static void main(String[] args) {
Son son = new Son();
son.home = "서울";
son.info(); // 집은 서울
}
}
오버로딩의 예
class Calu {
void add(int a, int b) {
System.out.println(a + b);
}
// 오버로딩
void add(int a, int b, int c) {
System.out.println(a + b + c);
}
// 오버로딩
void add(int a, int b, int c, int d) {
System.out.println(a + b + c + d);
}
}
public class Main {
public static void main(String[] args) {
Calu calu = new Calu();
calu.add(1,2); //3
calu.add(1,2,3); // 6
calu.add(1,2,3,4); //10
}
}
728x90
반응형