[c++] 네임스페이스와 객체 지향 프로그래밍
이번에는 C++ 프로그래밍 언어의 네임스페이스와 객체 지향 프로그래밍에 대해 알아보겠습니다.
네임스페이스란?
네임스페이스는 C++에서 심볼의 유효 범위를 제한하는 데 사용됩니다. 변수, 함수, 클래스 등과 같은 이름이 충돌하는 것을 방지하고 코드의 가독성을 높이는데 도움이 됩니다.
아래는 예제 코드입니다.
namespace CompanyA {
void printInfo() {
std::cout << "This is CompanyA" << std::endl;
}
}
namespace CompanyB {
void printInfo() {
std::cout << "This is CompanyB" << std::endl;
}
}
int main() {
CompanyA::printInfo();
CompanyB::printInfo();
return 0;
}
위의 코드에서 CompanyA
와 CompanyB
는 서로 다른 네임스페이스에 속해 있는 printInfo
함수를 가지고 있습니다.
객체 지향 프로그래밍과 네임스페이스
객체 지향 프로그래밍에서 클래스와 객체는 네임스페이스를 이용하여 구조화됩니다. 각 클래스는 네임스페이스 내에 정의되어 있고, 클래스 내의 멤버 함수와 변수들은 해당 클래스의 네임스페이스 내에서 유효합니다.
namespace Math {
class Circle {
public:
Circle(float r) : radius(r) {}
float getArea() {
return 3.14f * radius * radius;
}
private:
float radius;
};
}
int main() {
Math::Circle c1(5.0);
std::cout << "Circle Area: " << c1.getArea() << std::endl;
return 0;
}
Math
네임스페이스 내에 정의된 Circle
클래스를 이용하여 반지름과 넓이를 계산할 수 있습니다.
C++의 네임스페이스는 프로그래밍을 더 모듈화하고, 코드의 유지보수성을 높이며, 코드의 가독성을 개선하는데 도움을 줍니다.
이상으로 C++의 네임스페이스와 객체 지향 프로그래밍에 대해 알아봤습니다. 감사합니다.