네임스페이스란?

박제욱·2024년 4월 9일

네임스페이스

네임스페이스는 컴퓨터 과학에서 매우 중요한 개념이다. 네임스페이스는 변수, 함수, 객체등의 이름이 저장되는 공간이다. 이를 통해, 같은 이름을 지닌 것을 서로 다른 네임스페이스에서 구분짓는 역할을 하게 된다.

예를 들만한 것은 학교이다. 학교 안에는 수많은 학생들이 있고 학생 모두 각자의 고유 이름을 가지고 있다.

만약, 같은 이름을 가진 학생이 2명이면 어떻게 구별할까? 이 때, 몇 반 누구누구라고 구별하게 된다. 여기서 반이 학교의 네임스페이스인 것이다. 반이 다르기에 같은 이름을 가진 학생이어도 쉽게 구별할 수 있는 것이다. 예를 들면, 1반 홍길동, 2반 홍길동를 들 수 있다.

그럼 네임스페이스는 메모리에 존재하는 공간인가?

답은 Yes다. 그러나 네임스페이스를 메모리에 존재하는 공간이라고만 이해하기에는 조금 부족한 느낌이 존재한다.

그 이유는 네임스페이스는 메모리 공간의 한 부분을 차지하지만, 그보다는 코드의 구조를 정리하고 이름충돌을 방지하는데 더 큰 의미를 가지고 있기 때문이다.

따라서, 네임스페이스는 프로그램 내에서 이름이 중복되어 생기는 문제를 방지하고, 변수나 함수 등의 식별자가 어느 범위까지 유효할지 즉, scope를 정의하는 역할을 한다. 이는 코드의가독성을 높이고, 유지보수를 용이하게 하는데 큰 도움을 준다.

EX)

자바를 가지고 예를 들어보자. 자바에서는 패키지를 사용해 네임스페이스를 관리한다. 자바에서는 패키지를 사용하여 관련된 클래스와 인터페이스를 그룹화하여 다른 패키지 안에 같은 이름의 클래스가 있어도 충돌이 일어나 오류가 발생하지 않는다.

0개의 댓글