코린이 부트캠프 일상

코린이 4일차 /namespace/using~~/

게발인개발자 2023. 11. 2. 16:27

팀원과 협업한 게임프로젝트 마지막 점검하고 왔습니다.

간단한 프로젝트이지만 빡세긴 빡세네요;;;

 

그래도 오늘의 짜투리시간 공부를 빼먹을 수 없습니다!!!

오늘은 namspace, using에 대해 공부 해봤습니다.

namespace란 무엇인가?

Class는 게임에 필요한 개념, 속성을 객체로 만들어서 사용합니다.

객체를 사용할 때 클래스 명을 가져와서 사용하죠.

그래서 Class는 식별자로 불립니다.

 

하지만 같은 Class가 두개 있으면 어떻게 될까요?

당연히 컴퓨터는 같은 식별자가 2개이기 때문에 구분을 하지 못합니다.

그래서 당연히 오류가 나게 됩니다.

-->그럼 조심해서 식별자 안겹치게 사용하면 되는거 아닌가요?

라고 하실 수 있는데 혼자 작업할 때는 문제가 안되죠. 하지만 대부분의

개발자분들은 2명이상이서 작업을 하십니다.

따라서 서로서로 조심하면서 작업하기엔 개발 속도가 느리고 답답하기 때문에

필요한 것이 namespace입니다.

 

오늘도 역시 예를 들어보겠습니다.

ex) 프로그래머가 2명 있고 두 명이 각각 HP,MP 포션을 만드신다고 가정하겠습니다.

 

A 프로그래머가 HP포션을 위해 해당 코드를 작성하고

Class potion 

{

 플레이어가 마시면 HP 가 차는 내용

}

B프로그래머가 MP포션을 위해 해당 코드를 작성한다면

Class potion 

{

 플레이거가 미시면 MP가 차는 내용

}

 

potion이라는 Class가 2개이기 때문에 컴퓨터는 potion을 불러올 때 어느 포션인지 구별하지 못합니다.

 

따라서 위 코드를

namespace Apro

{Class potion 

{플레이어가 마시면 HP 가 차는 내용}}

 

namespace Bpro

{Class potion 

{플레이거가 미시면 MP가 차는 내용}}

이렇게 만들어 주시면 같은 클래스명이라도 불러오는 상위 공간이 namespace가 다르기때문에

컴퓨터가 구별이 가능해져 오류가 안나게 됩니다.

 

**네임스페이스는 개념의 표현이라기 보다는 개념의 분류라고 생각하시는 것이 좋습니다.

 

 

(visual studio C# 실행시 자주보이는 화면)

 

using ~~~?????

오늘도 역시 초보 개발자인 제가 왕초보분들에게 설명해보겠습니다.

Visual Studio C#을 실행 시키면 항상 위에 저런 것들이 써있어서 저는 저게 뭔지 궁금했습니다.

using~~; using 윗부분은 namespace명입니다. 

개발자들이 보편적으로 자주 쓰는 코드를 미리써서 다른 개발자들이 편하게 쓸 수 있게 해주는 

편리한 친구입니다.

(예시)

 

이 친구 처음 배울 때 항상 등장하는 친구이죠 하지만 이 친구도 using의 도움으로 이렇게 편하게 쓸 수 있답니다.

 

(예시)

Console은 namespace System에 있는 Console이라는 Class를 가져온 것이고 

WriteLind은 Console을 활용한 함수를 가지고 온 것입니다.

Using System; 이라는 한줄 코드안에 이렇게 많은 내용이 들어가 있는 것이고 이 덕분에 저 같은 초보 개발자들이 

쉽게 코드를 작성할 수 있습니다.

 

따라서 인터넷에

using ~~;

코드~~~~

라고 써있으면 항상 using 부분을 복사하여 최상단에 넣어 두시고 코드를 실행하시면 됩니다.

혹시라도 using을 안쓰고 코드만 적었을 시 오류 나는 곳에 "alt+enter"를 누르시면 알맞은 using을 추천해줍니다.

 

**내일은 저희팀이 만든 게임프로젝트 발표날입니다. 잘하고 내일 돌아오겠습니다.**