Pv_log

<유니티 교과서> C# 스크립트 파트 요약 정리 본문

Develop Study/Unity

<유니티 교과서> C# 스크립트 파트 요약 정리

Priv 2019. 12. 24. 01:14

 

 

 

1) 변수의 유효범위 확인 방법

선언된 변수가 소속된 가장 가까운 중괄호를 찾아라.

선언된 클래스/함수 내에서만 유효함

 

 

2) 배열 선언 방법

int[] points;

(배열의 크기는 지정되지 않은 상태.)

 

 

3) new 키워드란?

만든다라는 뜻에 가깝게 사용된다.

(만약 배열을 선언한다면, new를 이용해 필요한 배열 크기를 지정해야 함)

 

int[] points = new int[5];

(points라는 이름의 0~4까지의 배열을 만든다.)

 

 

4) 배열 호출 방법

points[2];

(points 이름의 배열에서 3번째 항목을 불러온다.)

 

배열은 항상 0부터 시작함에 주의할 것.

 

int[] array = {2, 3, 4, 5, 6};

(배열 크기 선언 + 배열 요소 선언을 동시에 진행하는 방법.)

 

요소의 개수에 따라 배열 크기가 자동으로 지정된다.

이 방법을 사용하면 new 키워드를 사용하지 않아도 된다.

 

 

5) 배열의 길이를 가져오는 방법

배열형의 변수명.Length;

 

대소문자 구별에 주의할 것!!

 

 

6) 실수 표현 방법에 있어서 'f' 문자 유무에 따른 차이점

15.4f 15.4

15.4f는 float으로 인식한다.

15.4는 double로 인식한다.

 

 

7) 메서드란?

사용자 지정 함수와 유사

(처리해야 하는 기능들을 모아둔 묶음)

 

 

8) 메서드 작성 방법

반환값의 데이터형  메서드명 (데이터형 인수명, 데이터형 인수명 ~) {

            메서드 처리;

            retrun 반환값;

}

 

 

 

9) 메서드 호출 방법

메서드명 (인수, 인수 ~);

 

 

10) 인스턴스, 메서드, 클래스 한 줄 정리

메서드: 처리를 모아 둔 것 (공격하기, 방어하기, 마법 사용하기)

클래스: 메서드와 변수를 모아 둔 것 (플레이어 상자, 플레이어 실체를 가리키는 일종의 이름)

인스턴스: 매서드 + 변수로 구성된 실체 (플레이어 오브젝트 그 실체)

 

 

11) 마침표로 연결된 문장(OO.XX 형태의 문장들) 의미

"OO 클래스가 가지는 XX 메서드(또는 변수)를 사용한다."

(하위 경로 탐색과 유사한 개념)

 

 

12) 접근 수식자 private, public, protected 한 줄 정리

public: 모든 클래스에서 접근 가능

private: 같은 클래스에서만 접근 가능

protected: 같은 클래스와 해당 클래스의 서브 클래스에서 접근 가능

private: 일종의 잠금장치 기능 (접근 수식자를 생략할 경우 private로 간주된다.)

 

 

13) this 키워드란?

자신의 인스턴스를 가리키는 키워드로 this 없이도 자기 클래스의 멤버 변수 사용은 가능.

(멤버 변수를 사용하고 싶다면 this를 사용해야 한다.)

 

만약 메서드 내에 멤버 변수와 동일한 이름의 로컬 변수가 사용된다면, 로컬 변수의 값이 우선으로 사용된다.

 

public class Player {

            private int hp = 100;

            private int power = 50;

 

            public void Attack() {

                        int power = 9999;

                        Debug.Log(this.power + "대미지를 입혔다.");

            }

 

            public void Damage(int damage) {

                        this.hp -= damage;

                        Debug.Log(damage + "대미지를 입혔다.");

            }

}

 

public class Test : MonoBehaviour {

 

            void Start() {

                        Player myPlayer = new Player();

                        myPlayer.Attack();

                        myPlayer.Damage(30);

            }

}

 

//출력: 9999 대미지를 입혔다.

 

14) 상속이란?

코드 창에서 볼 수 있는 ~MonoBehaviour 코드 부분을 상속이라고 말한다.

(의미는 유니티가 준비한 MonoBehaviour 클래스의 기능을 클래스에 적용시키겠다고 선언하는 것)

 

MonoBehaviour 클래스에는 게임 오브젝트를 구성하는데 필요한 기본적인 기능들을 멤버 변수, 멤버 메서드를 포함하고 있기 때문에 게임 오브젝트에 붙여서 실행하는 스크립트의 경우, MonoBehaviour 클래스를 필히 상속해야 함.

Comments