CS(8) - Overloading VS Overriding

gyungkyuBae·2023년 7월 28일
0

오버 로딩과 오버라이딩은 이름은 비슷하지만 아예 다른 의미를 가지고 있습니다.
헷갈릴 수도 있기 때문에 개념을 정리해보겠습니다.

Overloading

overloading 이란 함수의 이름이 같아도 함수의 인자로 전달된 타입,개수,순서를 다르게 해서 같은 이름으로 함수를 정의하더라도 서로 다른 기능을 하는 함수를 정의하는 것을 말합니다.
이렇게 오버로딩을 사용한다면 코드를 깔끔하게 하는 효과가 있고 프로그램의 유연성을 높여주는 효과가 있습니다.

ex)

void multiply(int a, int b){
System.out.println("결과는 : "+(a * b) + "입니다."); }

void multiply(int a, int b,int c){ System.out.println("결과는 : "+(a * b * c) + "입니다.");
}

void multiply(double a, double b){
System.out.println("결과는 : "+(a * b) + "입니다."); }
}

overriding

overriding 이란 상위 class에서 정의한 함수를 하위 class에서 재정의해서 사용하는 것을 말합니다. 상속관계가 있는 class에서 사용이 되고, final , static 으로 선언된 함수는 사용이 불가능합니다.

ex)

class Animal{ void eat(){
System.out.println("먹습니다."); }
}

class Person extends Animal{
@Override
void eat(){
System.out.println("사람처럼 먹습니다. ");
} }

public class MyClass {
public static void main(String args[]) { Person a = new Person();
a.eat();
} }
profile
개발자

0개의 댓글