개발/C++기본문법

오버로딩과 다형성

desafinado 2023. 5. 16. 23:45
728x90
#include <iostream>

class Calculator {//계산기 클래스
public://이름이 같은함수
    int add(int x, int y) {//오버로딩 매개변수의 타입에 따라 어떤함수를 호출할지 결정함
        return x + y;
    }
    double add(double x, double y) {//오버로딩 매개변수의 타입에 따라 어떤함수를 호출할지 결정함
        return x + y;
    }
};

int main() {
    Calculator calc;//클래스 생성
    int sum1 = calc.add(2, 3);//int끼리의 합 오버로딩
    double sum2 = calc.add(2.5, 3.5);//double 끼리의 합 오버로딩
    std::cout << sum1 << "\n";//정수형의 합이 출력
    std::cout << sum2 << "\n";//더블형의 합이 출력
    return 0;
}

오버로딩과 다형성

오버로딩은 같은 이름의 함수가 매개변수의 타입을 인식하고 맞는 함수를 불러오는것이다


다형성이란 한 타입의 참조변수를 통해 여러 타입의 객체를 참조할 수 있도록 만든 것을 의미한다

728x90