Unity 공부(1)

도토코·2024년 12월 18일

Unity공부

목록 보기
1/22

누구나 알고 있는 것들이지만 나름대로 정리를 해놓으려고 한다.


1. 변수

int level = 5;
float strength = 15.5f;
string playerName = "나검사";
bool isFullLevel = false;

2. 그룹형 변수

배열

가장 기본적인 고정형 그룹형 변수.

string[] monster = { "슬라임", "사막뱀", "악마" };

Debug.Log("맵에 존재하는 몬스터");
Debug.Log(monster[0]);
Debug.Log(monster[1]);
Debug.Log(monster[2]);   
int[] monsterLevel = new int[3];
monsterLevel[0] = 1;
monsterLevel[1] = 6;
monsterLevel[2] = 20;

Debug.Log("맵에 존재하는 몬스터");
Debug.Log(monsterLevel[0]);
Debug.Log(monsterLevel[1]);
Debug.Log(monsterLevel[2]);

배열의 길이를 출력

.Lenth

리스트

기능이 추가된 가변형 그룹형 변수.

List<string> items = new List<string>();
Debug.Log(items[0]);
Debug.Log(items[1]);

리스트는 배열과는 다르게 안에 들어있는 데이터를 삭제할 수 있다.

items.RemoveAt(0);

이런식으로 RemoveAt()함수에서 괄호안에 지우고 싶은 데이터가 있는 번지수를 넣으면 그 번지수에 있는 데이터가 삭제되게 된다.

삭제를 한 후 Debug.Log(items[0]);를 통해 그 데이터를 가져오려고 시도한다면

크기를 벗어난 탐색이라는 오류 메세지가 출력되게 된다.
리스트는 아이템을 삭제하면 뒤에 있는 아이템들이 당겨지면서 칸을 채운다고 생각면된다. 즉, 한 칸 당겨졌기 때문에 item[1]에서 오류가 나는 것이다.

리스트의 길이 출력

.Count

3. 연산자

  • && : 두 값이 모두 True일때만 True출력.
  • || : 두 값중 하나만 True라면 True출력.
  • ? A : B : True일 때 A, False일 때 B를 출력.

4. 키워드

  • 프로그램 언어를 구성하는 특별한 단어.
    ex) int, float, string, List, bool
    이러한 것들은 변수 이름으로도 사용할 수 없고, 값으로도 사용할 수 없다.

5. 조건문

if문

true라면 로직이 실행된다.

if(true) {
    로직
}

switch-case문

변수에 따라 로직이 실행된다.

switch (변수)
{
    case1:
        break;
    case2:
        break;
    case3:
        break;
    default:
    	break;
}

마지막에 있는 default는 모든 케이스가 실행된 후에 실행되게 된다.


  1. 반복문

while문

조건이 True라면 로직이 계속 반복하는 형태.

while(조건)
{
    로직
}

for문

조건식이 참인동안 괄호 안의 문장들을 반복하다 거짓이 되면 반복문을 벗어남.

for (연산될 변수 ; 조건 ; 연산)
{
    로직
}

이때, 괄호안의 변수를 연산하며 로직을 반복실행하는 역할을 한다.

foreach문

for의 그룹형변수 탐색 특화.

foreach (string monster in monsters)
{
    Debug.Log("이 맵에 있는 몬스터 : " + monster);
}

이런 식으로 작성하게 되면 이미 위에서 선언한 배열에 있는 몬스터들을 순회하며 출력하게 된다.


7. 함수

기능을 편리하게 사용하도록 구성된 영역

함수이름 앞에는 그 함수가 반환하는 자료형을 적어주고 괄호 안에는 이 함수가 받을 변수를 적어준다.

int Heal(int health)
{
    로직
    return;
}

return : 함수가 값을 반환할 때 사용.
-> 함수 앞에 반환하는 타입이 있다면 return은 꼭 적어주어야 함.

매게변수(Parameter)

함수 선언 시 함수가 받아들일 값

파라미터는 함수를 선언할 때 함수가 받아들이는 값을 정의하는 변수라고 할 수 있고, 함수가 호출될 때 필요한 값을 받아들이는 매개체, 함수나 메서드를 정의할 때 사용되는 변수의 이름이라고도 할 수 있다.

void

반환 데이터가 없는 함수 타입.

지역변수

함수 안에서 선언된 변수.

전역변수

함수 바깥에 선언된 변수.


8. 클래스

하나에 사물(오브젝트)과 대응하는 로직

클래스의 구성

public class Actor
{
    int id;
    string name;
    string title;
    string weapon;
    float strength;
    int level;

    string Talk()
    {
        return "대화를 걸었습니다.";
    }

    string HasWeapon();
    {
    return weapon;
    }

    void LevelUp()
    {
        LevelUp = level + 1
    }
}

이렇게 구성한 클래스를

Actor player = new Actor();

위와 같이 하나의 변수로 만들어 주는 것을 인스턴스라고 한다.

인스턴스

정의된 클래스를 변수 초기화로 실체화.

그러나 이렇게 클래스를 만들어도 그 안의 데이터에 접근을 할 수 없는데 그 이유는 접근자가 private로 되어있기 때문이다.

public class Actor
{
    public int id;
    public string name;
    public string title;
    public string weapon;
    public float strength;
    public int level;

    string Talk()
    {
        return "대화를 걸었습니다.";
    }

    string HasWeapon();
    {
    return weapon;
    }

    void LevelUp()
    {
        LevelUp = level + 1
    }
}

그렇기 때문에 클래스의 코드에서 선언된 변수에 위와 같이 public을 적어 준다면 외부 클래스에서도 그 데이터를 사용할 수 있게 된다.


출처
https://velog.io/@kwontae1313/%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98parameter%EC%99%80-%EC%9D%B8%EC%9E%90argument

profile
코(딩)(꿈)나무

0개의 댓글