?
readonly
: ์ธ์คํํฐ์ฐฝ์์ ์์ ํ ์ ์๋ ๋ณ์๋ฅผ ์๋ฏธํจ.
sealed
: ๋ด์ธ๋. ๋์ด์ ์์์ด ๋ถ๊ฐ๋ฅํ ํด๋์ค/์์ฑ/ํจ์๋ฅผ ์๋ฏธํจ.
: ์์, ์ธํฐํ์ด์ค ๋ฑ์ผ๋ก ํด๋์ค ๊ตฌ์กฐ๊ฐ ๋ณต์กํด์ง ๋ ์์์ ๊น์ด๋ฅผ ์ ํํ๊ธฐ ์ํด ๋ค๋ฅธ์ฌ๋์๊ฒ ์ด ํด๋์ค, ์์ฑ, ํจ์๋ ์์์ด ์๋๋ค๊ณ ๋ช ์ํ๊ธฐ ์ํด ์ฌ์ฉ.
public class LoginInterface() { }
public sealed class LoginImplementation { }
partial
static
1) static ๋ฉ์๋
: ํด๋์ค๋ก๋ถํฐ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง ์๊ณ 'ํด๋์ค๋ช .๋ฉ์๋๋ช '์ผ๋ก ๋ฐ๋ก ํธ์ถํ๋ ๋ฉ์๋.
2) static ์์ฑ, ํ๋
: ํด๋์ค๋ก๋ถํฐ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง ์๊ณ 'ํด๋์ค๋ช .์์ฑ๋ช '์ผ๋ก ๋ฐ๋ก ํธ์ถํจ.
: non-static ํ๋๋ค์ ํด๋์ค ์ธ์คํด์ค๋ฅผ ์์ฑํ ๋๋ง๋ค ๋ฉ๋ชจ๋ฆฌ์ ๋งค๋ฒ ์๋ก ์๊ธฐ๋๋ฐ static ํ๋๋ ํ๋ก๊ทธ๋จ ์คํ ํ ํด๋น ํด๋์ค๊ฐ ์ฒ์์ผ๋ก ์ฌ์ฉ๋ ๋ ํ๋ฒ ์ด๊ธฐํ๋์ด ๊ณ์ ๋์ผํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ค. ๋ค๋ง ๋ฐ๋๋ก ์๊ฐํด๋ณด๋ฉด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณ์ ์ฐจ์งํ๊ณ ์๋ ๊ฒ์ด๋ฏ๋ก ๋ฐ๋์ static ์์ฑ์ด ๋์ด์ผ ํ๋์ง๋ ์ ํ๋จํด๋ณด์.
3) static ํด๋์ค
: ๋ชจ๋ ํด๋์ค ๋ฉค๋ฒ๊ฐ static ๋ฉค๋ฒ๋ก ๋์ด ์์.
: static ํด๋์ค๋ public ์์ฑ์๋ฅผ ๊ฐ์ง ์ ์๋ค.(static ํด๋์ค๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๊ธฐ์). static ์์ฑ์๋ ๊ฐ์ง ์ ์๋๋ฐ, ์ด๋ ์ฃผ๋ก static ํ๋๋ฅผ ์ด๊ธฐํ ํ๋๋ฐ ์ฌ์ฉํ๋ค.
public class MyClass {
private int val = 1;
// ์ธ์คํด์ค ๋ฉ์๋
public int InstRun() { return val; }
// ์ ์ (Static) ๋ฉ์๋
public static int Run() { return 1; }
}
public class Client {
public void Test() {
// ์ธ์คํด์ค ๋ฉ์๋ ํธ์ถ
MyClass myClass = new MyClass();
int i = myClass.InstRun();
// ์ ์ ๋ฉ์๋ ํธ์ถ
int j = MyClass.Run();
}
}
https://www.csharpstudy.com/CSharp/CSharp-static.aspx
RequireComponent
: ์๋์ผ๋ก ํด๋น ์ปดํฌ๋ํธ๋ฅผ ์ถ๊ฐํด์ฃผ๋ ๊ฒ. ํน์ ์ปดํฌ๋ํธ๊ฐ ํ์ํ GameObject์ ํด๋น ์ปดํฌ๋ํธ๋ฅผ ์ถ๊ฐํด๋์ง ์์์ ๋, ์ ์ฝ๋๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ์๋์ผ๋ก ์ถ๊ฐํด์ ์๋ฌ๊ฐ ์๊ธธ ์ผ์ ์์ ์ค๋ค.
[RequireComponent(typeof(Graphic))]
'๐ฎ Unity Study > C#' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
C# & Unity Code Convention (0) | 2023.08.29 |
---|---|
[C#] Generic, Template (0) | 2023.08.21 |
[C#][์์๊ณผ ์ธํฐํ์ด์ค] virtual, abstract, interface (0) | 2023.08.19 |
[C#][Unity] Event (0) | 2023.08.18 |
[C#] ? Question Mark (0) | 2023.08.18 |