유니티/유니티 공부

총정리 (용어정리)

잉ㅇ잉ㅇ 2024. 2. 3. 02:45

과제를 하려니 지금까지 너무 대충 공부를 해왔다는게 느껴져 다시 기본부터 복습하기로 했다

 

 

Hierarchy : Scene뷰에 배치한 오브젝트 이름을 목록으로 표시

 

Project : 게임에서 사용하는 리소스를 관리

Inspector : Scene 뷰에서 선택한 오브젝트의 상세정보

 

<메서드>

 

메서드 : 길어진 스크립트를 효과적으로 관리하기 위해 의미가 있는 처리 블록으로 분해하고 이름을 붙인 각각의 처리

→ 인수 : 메서드로 건네는 값

→ 반환값 : 메서드에서 돌려받는 값

인수는 여러개가 들어갈수 있으나 반환값은 무조건 1개이다

 

인수가 없을때는        int Add()

반환값이 없을때는    void Add(int a, int b)

 

int Add(int a, int b)

{

   int c = a+b;

   return c;

}

 

[반환 데이터형] [메서드명] ([인수1], [인수2])

{

  return 반환값;

}

 

<클래스>

 

메서드 : 처리를 모아둔것.

클래스 : 메서드와 변수를 모아둔것. 관계가 있는 변수와 메서드를 하나로 합칠수 있어 스크립트 관리가 용이

 

class 클래스명

{

    멤버 변수 선언;

    멤버 메서드 구현;

}

 

작성한 클래스는 int나 string 등 데이터형으로 사용할 수 있다. 즉 Player 클래스를 만들면 Player형 사용가능

Player myplayer를 선언시 Player형 myplayer라는 변수를 만들수 있다는 뜻

 

이 myplayer 변수에는 플레이어의 실체를 대입하는데 이 실체를 인스턴스라고 한다

 

myplayer 변수가 가진 멤버 메서드나 멤버 변수를 사용하려면 myplayer.멤버 메서드명(변수명)을 사용

OO.xx = OO 클래스가 갖는 xx 메서드(또는 변수)를 사용한다

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

class Player   // 클래스 Player
{
    private int hp = 100;
    private int power = 50;
    public void Attack()  // 클래스 Player의 메서드 Attack
    {
        Debug.Log(this.power + "만큼 데미지를 입혔다");
    }

    public void Damage()   // 클래스 Player의 메서드 Damage
    {
        Debug.Log(this.power + "만큼 데미지를 입었다");
    }
}
public class NewBehaviourScript : MonoBehaviour
{
    void Start()
    {
        Player myplayer = new Player(); 
        // Player 클래스 사용을 위해 new 키워드로 인스턴스 제작 후 myplayer 변수안에 대입
        myplayer.Attack();
        변수명.멤버 메서드명()으로 호출
        myplayer.Damage();
    }
}

 

접근 수식자 : Public, Private등등... OO.xx라고 썼을때 다른 클래스에서 멤버로 접근 가능한지의 여부

 

Public => 다른 클래스에서 호출 가능

Private => 다른 클래스에서 호출 불가능

 

this 키워드 : 자신의 인스턴스를 카리키는 키워드

만약 this를 붙이지 않았는데 Attack 메서드에서 power라는 이름이 같은 변수를 선언한다면 그 값이 우선으로 쓰인다