๐ŸŽฎ Unity Study/C#

[C#] ๋ฌธ๋ฒ• Keyword

ibelieveinme 2023. 8. 19. 17:14
728x90

?

 

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

 

C# ์ •์  static - C# ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฐ์šฐ๊ธฐ (Learn C# Programming)

C# static ๋ฉ”์„œ๋“œ ์ •์ (Static) ๋ฉ”์„œ๋“œ๋Š” ์ธ์Šคํ„ด์Šค ๋ฉ”์„œ๋“œ์™€๋Š” ๋‹ฌ๋ฆฌ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ์ง์ ‘ [ํด๋ž˜์Šค๋ช….๋ฉ”์„œ๋“œ๋ช…] ํ˜•์‹์œผ๋กœ ํ˜ธ์ถœํ•˜๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค. ์ด ๋ฉ”์„œ๋“œ๋Š” ๋ฉ”์„œ๋“œ ์•ž์— static ์ด

www.csharpstudy.com

 

RequireComponent

: ์ž๋™์œผ๋กœ ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋Š” ๊ฒƒ. ํŠน์ • ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ•„์š”ํ•œ GameObject์— ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด๋†“์ง€ ์•Š์•˜์„ ๋•Œ, ์š” ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ์ž๋™์œผ๋กœ ์ถ”๊ฐ€ํ•ด์„œ ์—๋Ÿฌ๊ฐ€ ์ƒ๊ธธ ์ผ์„ ์—†์• ์ค€๋‹ค.

[RequireComponent(typeof(Graphic))]

 

 

728x90

'๐ŸŽฎ 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