๐Class
ํํํ๊ณ ์ถ์ ๋์์ ์ถ์ํํ์ฌ ๋์๊ณผ ๊ด๋ จ๋ ๋ณ์์ ๋ฉ์๋๋ฅผ ์ ์ํ๋ ํ
cf) MonoBehaviour Class
- ๊ฒ์ ์ค๋ธ์ ํธ์ ์ปดํฌ๋ํธ๋ก์ ํ์ํ ๊ธฐ๋ฅ๋ค์ ์ ๊ณต -> ์ปดํฌ๋ํธ๋ก ์ถ๊ฐ ๊ฐ๋ฅํ๊ฒ ํจ
- new๋ก ์ค๋ธ์ ํธ ์์ฑ ๋ถ๊ฐ๋ฅ
๐Object
์ค์ ๋ก ์กด์ฌํ๋ ๋ฌผ๊ฑด(๊ฒ์ ์๋ ์ ์ฌ๋ฌผ)
๋
๋ฆฝ์ฑ
- ์๋ก ๋
๋ฆฝ์
- ๊ตฌ๋ณ ๊ฐ๋ฅํ ์ค์ฒด
โ
Class์ Object์ ๊ด๊ณ
์ธ์คํด์คํ = Class๋ก Object๋ฅผ ์ค์ฒดํ ํ๋ ๊ฒ
์ธ์คํด์ค = ์ธ์คํด์คํ๋ก ์์ฑ๋ Object
ex)
public class Person {
public string name;
public int age;
public void print() {
Debug.Log(name + ":" + age);
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Student : MonoBehaviour {
void Start() {
Person kim = new Person();
kim.name = "KIM";
kim.age = 24;
}
}
Class ํ๋๋ก ์ฌ๋ฌ๊ฐ์ Object ๋ง๋ค์ ์์
โ๏ธnew ์ฐ์ฐ์ = ํด๋์ค๋ก๋ถํฐ ์ธ์คํด์ค ์์ฑ
โ๏ธPerson() ๋ฉ์๋ = Person ํด๋์ค์ ์์ฑ์
โTip
ํด๋์ค ์ ์ํ ๋ ์์ฑ์๋ฅผ ๋ฐ๋ก ๋ง๋ค์ง ์์๋ ๊ธฐ๋ณธ ์์ฑ์๊ฐ ์์์ ์ผ๋ก ์์ฑ
- ๋ฉค๋ฒ : Object ๋ด๋ถ์ ๋ณ์๋ ๋ฉ์๋
-> .์ฐ์ฐ์๋ก ์ ๊ทผ
- Class ๋ฉค๋ฒ : Class ๋ด๋ถ์ ๋ณ์๋ ๋ฉ์๋
- Class ํ๋ : Class ๋ฉค๋ฒ ์ค์์ ๋ณ์
- ์ ๊ทผ ์ ํ์
-> ์ ํ์ ์ผ๋ก ๋ฉค๋ฒ์ ๊ณต๊ฐ ์ฌ๋ถ ๊ฒฐ์
- public : Class ์ธ๋ถ์์๋ ์ ๊ทผ ๊ฐ๋ฅ
- public ๋ณ์๋ ์ธ์คํํฐ ์ฐฝ์์ ํธ์ง ๊ฐ๋ฅ
- private : Class ๋ด๋ถ์์๋ง ์ ๊ทผ ๊ฐ๋ฅ (default๊ฐ)
- protected : Class ๋ด๋ถ์ ํ์ Class์์๋ง ์ ๊ทผ ๊ฐ๋ฅ
๐์ฐธ์กฐ ํ์
๋ณ์์ ์ ๊ทผํ๋ฉด ์ฐธ์กฐ๋ฅผ ํตํด ์ค์ฒด์ ์ ๊ทผํ๋ ๋ณ์
- ๋ณ์ = ์ค์ฒด๊ฐ ์๋ ์ค์ฒด๋ก ํฅํ๋ ์ฐธ์กฐ๊ฐ ํ ๋น
- ์ฐธ์กฐ ํ์
์ ๋ณ์๋ ์ค์ฒดํ๋ ์ค๋ธ์ ํธ๊ฐ ์๋(์ค์ ์ค๋ธ์ ํธ์ ๋ถ์ )
new๋ฅผ ์ฌ์ฉํด ์ค๋ธ์ ํธ๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์์ฑํด์ผ ํจ
- ์ฐธ์กฐ๊ฐ : ์ค์ ์ค๋ธ์ ํธ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์ ๋์๋๋ ๊ฐ
๊ฐ ํ์
ํด๋น ๋ณ์ ๊ณต๊ฐ์ ๊ฐ ์์ฒด๋ฅผ ์ ์ฅ
- ex)
C#๋ด์ฅ๋ณ์(int, bool, string...), structํ์
(Vector3, Color...)
์ฐธ์กฐ ํ์
๊ฐ์ผ๋ก ํฅํ๋ ์ฐธ์กฐ์ ์ ์ฅ
- ex)
class ํ์
, ์ ๋ํฐ์ ๋ชจ๋ ์ปดํฌ๋ํธ, C#์คํฌ๋ฆฝํธ(MonoBehaivour์์๋ฐ๋ ํด๋์ค)