namespace (이름 공간)은 이름 충돌을 방지하기 위해 사용한다 이름 충돌이란? 클래스나 상수, 변수와 함수의 이름이 겹치는 것이고 이렇게 겹칠 때, 겹치는 것들을 구분하기 위해서 namespace가 도입되었다 구체적인 예를 들면 A와 B가 프로젝트를 나눠서 개발한다고 가정했을 때, 나중에 각자의 코드를 merge하니 겹치는 함수가 발생했다 // A.cpp void f() { ··· } // B.cpp void f() { ··· } 이럴 경우 각자가 만든 코드라는 것을 명시해주도록 코드를 namespace로 감싼다 // A.cpp namespace A { void f() { ··· } } // B.cpp namespace B { void f() { ··· } } 이렇게 각자의 코드를 namespac..