[c++] 함수 오버로딩과 캡슐화

함수 오버로딩과 캡슐화는 C++에서 중요한 개념입니다. 함수 오버로딩은 같은 이름을 가진 함수가 서로 다른 매개변수를 갖는 것을 의미합니다. 캡슐화는 데이터와 이를 처리하는 함수를 하나의 단위로 묶는 것으로, 정보 은닉과 데이터 보호를 위해 사용됩니다.

함수 오버로딩 (Function Overloading)

함수 오버로딩은 같은 이름을 가진 함수에 서로 다른 매개변수를 사용하여 여러 개의 함수를 정의하는 것을 말합니다. 예를 들어, 같은 이름의 함수를 정수, 실수, 문자열 등 다양한 매개변수 타입으로 정의할 수 있습니다.

#include <iostream>

void print(int num) {
    std::cout << "Integer: " << num << std::endl;
}

void print(double num) {
    std::cout << "Double: " << num << std::endl;
}

int main() {
    print(5);
    print(3.14);
    return 0;
}

캡슐화 (Encapsulation)

캡슐화는 객체 지향 프로그래밍에서 중요한 개념으로, 데이터와 함수를 하나의 단위로 묶는 것을 말합니다. 이를 통해 데이터를 보호하고 외부에서의 접근을 제어할 수 있습니다. 예를 들어, private 멤버 변수를 통해 데이터 은닉을 실현할 수 있습니다.

class Car {
private:
    int speed;
public:
    void setSpeed(int s) {
        speed = s;
    }
    int getSpeed() {
        return speed;
    }
};

int main() {
    Car myCar;
    myCar.setSpeed(100);
    std::cout << "Speed: " << myCar.getSpeed() << std::endl;
    return 0;
}

함수 오버로딩과 캡슐화는 C++에서 코드의 가독성을 높이고 유지보수를 용이하게 하는데 도움을 줍니다. 이러한 개념을 잘 활용하여 효율적이고 안정적인 프로그램을 작성할 수 있습니다.

더 많은 정보는 아래 레퍼런스에서 확인할 수 있습니다.

레퍼런스: