본문 바로가기

개발자_뉴비일지

내일배움캠프 Unity 11일차 TIL - 기초

string keyword="기초";

지난 주 게임을 만들고 문법 강의를 보면서 느낀 것이 많았다.

바로 내 실력은 기초조차 제대로 모르면서 어설프게 흉내만 내고 있었던 것!

그냥 강의로 진도만 빼면서 제대로 이해가 안된채로 따라만 하는 것은 아무런 도움이 되지 않는다.

문제 인식 후 일단 유튜브에서 정보를 찾다가 나에게 아주 딱 맞는 강의를 발견했다.

 

1. 다시 시작하는 C#의 개념들

 

(1)Class

 

하나의 폴더라고 생각을 하면 된다.

게임을 만드는데 player와 monster가 필요하다면 각각의 속성들과 행위(함수)를 지정해 줄때

Class Player

{

 플레이어의 속성이나 행동 설정

}

Class Monster

{

몬스터의 속성이나 행동 설정

}

처럼 class로 선언한 후 그 안에 내가 넣고 싶은 내용들을 넣어 줄 수 있다.

 

(2)NameSpace

 

나만의 영역이라고 나는 이해를 했다.

예를 들어 개발자가 둘 이상이고 둘 다 포션을 개발하면서 potion이라는 이름의 함수를 썻을 때,

1번 개발자

Class Player

{

 void potion

   {

    }

}

2번 개발자

Class Monster

{

void potion

   {

    }

}

이렇게 플레이어와 몬스터가 쓸 수 있는 포션을 각각 만들어주면, 함수 이름이 같기 떄문에 오류가 뜬다.

이 때, 각 포션함수를 구분시켜 줄 수 있게 하는 것이 namespace이다.

NameSpace XX

{

  Class Player

  {

   void potion

     {

      }

  }

}

NameSpace YY

{

  Class Monster

  {

   void potion

     {

     {  

  }

}

 

(3)Static

 

static이 붙으면 정적멤버함수/정적클래스/정적멤버변수 라고 하는데, 얘네는 따로 객체를 생성하지 않고도 함수나 변수를 불러와 활용할 수 있게 해준다.

보통 객체를 생성할 때에는

ex) Player NewPlayer =  New Player();

와 같이 새로 객체를 생성해야 하는데

static이 붙어 있으면 .을 찍어서 [클래스명.변수이름]과 같이 바로 사용할 수 있다. 

 

또한 static은 일반함수처럼 객체 단위가 아니라 클래스단위로 함수같은 것을 생성을 한다.

예를 들어 객체로 player를 많이 만들었는데 몇개나 만들었는지 알고 싶을 때 객체단위로는 알 수가 없다.

각 객체마다 number가 부여 되기 때문이다. 그냥 자기자신, 그러니까 1만을 가진다는 의미.

이 떄 static은 player라는 클래스단위로 작동시켜 줄 수 있기에 몇개의 player가 만들어 졌는지 알 수 있게 된다. 

 

 

 

마무리

오늘은 하루종일 유튜브강의를 들으며 개념을 명확하게 가져가려고 했다.

확실히 두루뭉실하게 알고 코드를 쳐보는 것과

이것이 뭔지, 어떤 의미를 갖고 있는지 알고 코드를 쳐보는 것은 자신감부터가 달랐다.

학원 커리큘럼도 따라가야 하기에 시간이 많이 부족하지만, 틈틈히 시간을 내서 나머지 공부를 할 생각이다.

 

https://www.youtube.com/playlist?list=PL4SIC1d_ab-Y-bBKojxhtFWwNpawMM1h5

 

C# 무료강의[2019] 총48강

 

www.youtube.com

 

>>나같은 개초보 뉴비도 이해하기 쉽게 설명해주는 기초강의!

 

 

.

.

.

with 요비