Menu
Coddy logo textTech

네임스페이스 및 스코프

Coddy C++ 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 104개 중 4번째.

네임스페이스는 관련된 코드를 함께 그룹화하고 이름 충돌을 방지합니다. :: 범위 지정 연산자는 네임스페이스 내부의 항목에 접근합니다.

네임스페이스 생성하기

namespace MathTools {
    int add(int a, int b) {
        return a + b;
    }
}

범위 지정 연산자 ::를 사용한 접근

int result = MathTools::add(5, 3);  // result = 8

매번 네임스페이스를 입력하지 않도록 using 지시문 사용하기

using namespace MathTools;
int result = add(5, 3);  // MathTools::add(5, 3)와 동일

std 네임스페이스

std::cout << "Hello" << std::endl;
// 또는
using namespace std;
cout << "Hello" << endl;

네임스페이스는 코드를 구조화하고 이름 충돌을 방지합니다. std 네임스페이스는 cout, cin, string, endl과 같은 모든 C++ 표준 라이브러리 기능을 포함하고 있습니다.

challenge icon

챌린지

중급

MathTools 네임스페이스 내에 함수를 생성하세요:

  • add(int a, int b) — 합계를 반환합니다
  • multiply(int a, int b) — 곱을 반환합니다

이들을 MathTools.h에 선언하고 MathTools.cpp에 구현하세요.

치트 시트

네임스페이스는 관련된 코드를 하나로 묶고 이름 충돌을 방지합니다. :: 범위 지정 연산자는 네임스페이스 내부의 항목에 접근합니다.

네임스페이스 생성하기:

namespace MathTools {
    int add(int a, int b) {
        return a + b;
    }
}

범위 지정 연산자 ::를 사용하여 접근하기:

int result = MathTools::add(5, 3);  // result = 8

매번 네임스페이스를 입력하지 않기 위해 using 지시어 사용하기:

using namespace MathTools;
int result = add(5, 3);  // MathTools::add(5, 3)와 동일

std 네임스페이스는 cout, cin, string, endl과 같은 모든 C++ 표준 라이브러리 기능을 포함합니다:

std::cout << "Hello" << std::endl;
// 또는
using namespace std;
cout << "Hello" << endl;

직접 해보기

#include <iostream>
#include "MathTools.h"

int main() {
    int a, b;
    std::cin >> a >> b;
    
    std::cout << "Add: " << MathTools::add(a, b) << std::endl;
    std::cout << "Multiply: " << MathTools::multiply(a, b) << std::endl;
    return 0;
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

객체 지향 프로그래밍의 모든 레슨