본문 바로가기
Knowledge/CS

[CS] Overriding 과 Overloading의 차이점

by YoonJong 2022. 12. 9.
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

'Knowledge > CS' 카테고리의 다른 글

[CS] 스케줄링 알고리즘  (0) 2022.12.13
[CS] 시분할 시스템이란?  (0) 2022.12.12
기술면접 주요질문 - 공개X  (0) 2022.12.09
[CS] 프로세스의 구조  (0) 2022.12.06
[CS] 인덱스(Index) 란?  (0) 2022.12.04

댓글