[Sparta-BCamp] TIL 11 (TextGame, Interface, Enum, try-catch, finally) โญ

์—…๋ฐ์ดํŠธ:

์นดํ…Œ๊ณ ๋ฆฌ:

ํƒœ๊ทธ: , ,


์ธํ„ฐํŽ˜์ด์Šค(Interface), ์—ด๊ฑฐํ˜•(Enum)
try-catch, finally, ๊ฐ’ํ˜•(Value Type), ์ฐธ์กฐํ˜•(Reference Type), ๋ฐ•์‹ฑ๊ณผ ์–ธ๋ฐ•์‹ฑ


๊ฐœ์ธ ๊ณต๋ถ€ C# 6์ผ์ฐจ

ย ย  [o] ๊ฐœ์ธ๊ณผ์ œ(TextGame) ์ง„ํ–‰
ย ย  [o] 4์ฃผ์ฐจ ๊ฐ•์˜ ๋“ฃ๊ธฐ
ย ย  [o] ์‚ฌ์ดํŠธ ์‹ ์ฒญํ•˜๊ธฐ








1. ๊ฐœ์ธ๊ณผ์ œ(TextGame)

๊นƒํ—ˆ๋ธŒ Readme

๋Š๋‚€์ 
๊ฒŒ์ž„ ์ง„ํ–‰๋ถ€๋ถ„์˜ while, if์˜ ์กฐ๊ฑด์„ ๋‹จ์ถ•ํ•  ์ˆ˜ ์—†์„๊นŒ ๊ณ ๋ฏผํ–ˆ๊ณ , list, ์ƒ์†, ํด๋ž˜์Šค, ๋งค์„œ๋“œ ๋“ฑ ์ž˜ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜์—ฌ ์•„์‰ฌ์› ๊ณ , ์‚ฌ์šฉํ•˜๋ฉด์„œ ์กฐ๊ธˆ ๋” ๋ฐฐ์šด ๊ณผ์ œ์˜€์Šต๋‹ˆ๋‹ค. ์ƒ๊ฐ์„ ์ฝ”๋“œ๋กœ ์ ๊ณ  ์ฝ”๋“œ๋“ค์ด ๊ธธ์–ด์ง€๋ฉฐ ํด๋ž˜์Šค, ๋ฉ”์„œ๋“œ, ๋ณ€์ˆ˜๋ช…์˜ ์ค‘์š”์„ฑ์„ ๊บ ๋‹ซ๊ณ , ์ค‘๊ฐ„์— ์ˆ˜์ • ์‹œ ํž˜๋“ฆ์ด ์žˆ์–ด ์ฒ˜์Œ๋ถ€ํ„ฐ ์ถ”๊ฐ€ํ•  ๊ธฐ๋Šฅ์„ ์ •ํ•˜๊ณ , ์ฝ”๋“œ์˜ ๊ตฌ์กฐ๋ฅผ ์งœ๊ณ  ์‹œ์ž‘ํ•˜๋ฉด ์ข‹๊ฒ ๋‹ค๊ณ  ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค.








2. C# ๊ฐ•์˜ ๋‚ด์šฉ ์ •๋ฆฌ

6์ผ์ฐจ ๋‚ด์šฉ ์ •๋ฆฌ
4์ฃผ์ฐจ๊ฐ•์˜

C# ์ธํ„ฐํŽ˜์ด์Šค(Interface), ์—ด๊ฑฐํ˜•(Enum)
์ธํ„ฐํŽ˜์ด์Šค(Interface), ์—ด๊ฑฐํ˜•(Enum)

C# ์˜ˆ์™ธ์ฒ˜๋ฆฌ, ๊ฐ’ํ˜•๊ณผ ์ฐธ์กฐํ˜•
try-catch, finally, ๊ฐ’ํ˜•(Value Type), ์ฐธ์กฐํ˜•(Reference Type), ๋ฐ•์‹ฑ๊ณผ ์–ธ๋ฐ•์‹ฑ








3. ์ •๋ฆฌ, ์žก๋‹ด

์ •๋ฆฌ
์ธํ„ฐํŽ˜์ด์Šค(Interface), ์—ด๊ฑฐํ˜•(Enum)
์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ œ์•ฝ์กฐ๊ฑด(์ œ์‹œ). ๊ตฌํ˜„์€ ํด๋ž˜์Šค๊ฐ€ | ์—ด๊ฑฐํ˜•- ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ, ENUM = ์ž๋ฃŒํ˜•

  • ์˜ˆ์™ธ์ฒ˜๋ฆฌ : try-catch, finally
  • ๊ฐ’ํ˜• : int, float, double, bool
  • ์ฐธ์กฐํ˜• : ํด๋ž˜์Šค, ๋ฐฐ์—ด, ์ธํ„ฐํŽ˜์ด์Šค
  • ๋ฐ•์‹ฑ -> Object ์‚ฌ์šฉ int num1 = 10; object obj = num1;
  • ์–ธ๋ฐ•์‹ฑ -> int num2 = (int)obj;
  • list์—์„œ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ฐ•์‹ฑ ์–ธ๋ฐ•์‹ฑ์ด ์ผ์–ด๋‚œ๋‹ค. list ๋ฐ•์‹ฑ์–ธ๋ฐ•์‹ฑ


์˜ˆ์™ธ ์ข…๋ฅ˜ ์„ค๋ช…
Exception ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
ArgumentNullException ๋ฉ”์„œ๋“œ์— ์ „๋‹ฌ ๋˜๋Š” ์ธ์ˆ˜๊ฐ€ null์ด๋‹ค.
ArgumentException ๋ฉ”์„œ๋“œ์— ์ „๋‹ฌ ๋˜๋Š” null์ด ์•„๋‹Œ ์ธ์ˆ˜๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๋‹ค.
ArgumentOutOfRangeException ์ธ์ˆ˜๊ฐ€ ์œ ํšจํ•œ ๊ฐ’ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚ฌ๋‹ค.
DirectoryNotFoundException ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ฒฝ๋กœ ์ผ๋ถ€๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๋‹ค.
DivideByZeroException 0์œผ๋กœ ๋‚˜๋ˆ„์—ˆ๋‹ค.
DriveNotFoundException ๋“œ๋ผ์ด๋ธŒ๊ฐ€ ์—†๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
FileNotFoundException ํŒŒ์ผ์ด ์—†๋‹ค.
FormatException ๋ฌธ์ž์—ด์—์„œ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ ˆ ํ•œ ํ˜•์‹์ด ์•„๋‹ˆ๋‹ค.
IndexOutOfRangeException ์ธ๋ฑ์Šค๊ฐ€ ๋ฐฐ์—ด ๋˜๋Š” ์ปฌ๋ ‰์…˜์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚ฌ๋‹ค.
InvalidOperationException ๊ฐœ์ฒด์˜ ํ˜„์žฌ ์ƒํƒœ์—์„œ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
KeyNotFoundException ์ปฌ๋ ‰์…˜์˜ ๋ฉค๋ฒ„์— ์•ก์„ธ์Šค ํ•˜๋Š” ๋ฐ ์ง€์ • ๋œ ํ‚ค๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค.
NotImplementedException ๋ฉ”์„œ๋“œ ๋˜๋Š” ์ž‘์—…์ด ๊ตฌํ˜„ ๋˜์ง€ ์•Š์•˜๋‹ค.
NotSupportedException ๋ฉ”์„œ๋“œ ๋˜๋Š” ์ž‘์—…์ด ์ง€์› ๋˜์ง€ ์•Š๋Š”๋‹ค.
ObjectDisposedException ์‚ญ์ œ ๋œ ๊ฐœ์ฒด์— ๋Œ€ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ๋‹ค.
OverflowException ์‚ฐ์ˆ , ์บ์ŠคํŒ… ๋˜๋Š” ๋ณ€ํ™˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ ํ•˜๋ฉด ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
PathTooLongException ๊ฒฝ๋กœ ๋˜๋Š” ํŒŒ์ผ ์ด๋ฆ„์ด ์‹œ์Šคํ…œ์—์„œ ์ •์˜ํ•œ ์ตœ๋Œ€ ๊ธธ์ด๋ฅผ ์ดˆ๊ณผํ•œ๋‹ค.
PlatformNotSupportedException ํ˜„์žฌ ํ”Œ๋žซํผ์—์„œ ์ž‘์—…์ด ์ง€์› ๋˜์ง€ ์•Š๋Š”๋‹ค.
RankException ์ฐจ์› ์ˆ˜๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๋‹ค.
TimeoutException ์ž‘์—…์— ํ• ๋‹น ๋œ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์ด ๋งŒ๋ฃŒ ๋˜์—ˆ๋‹ค.
UriFormatException ์ž˜๋ชป ๋œ URI (Uniform Resource Identifier)๊ฐ€ ์‚ฌ์šฉ ๋˜์—ˆ๋‹ค.


์žก๋‹ด
4์ฃผ์ฐจ ๋‚ด์šฉ ์ •๋ฆฌ ๋ชปํ•œ ๊ฑฐ ๋‚ด์ผ ์ •๋ฆฌ(๋žŒ๋‹ค,linq,Nullable ํ˜•,์ž์—ด ๋นŒ๋” (StringBuilder))
์˜ค๋Š˜์€ ์ง‘์ค‘์ด ์•ˆ ๋˜๋Š” ํ•˜๋ฃจ์˜€๋‹ค. ์˜ค์ „์— ์ง‘์ค‘์ด ์•ˆ ๋๊ณ  ๋ฐฅ์„ ๋จน๊ณ  ๋‚œ ํ›„ ์ž ์ด ๋„ˆ๋ฌด ์™€์„œ ์กฐ๊ธˆ ์žค๋‹ค.
4์ฃผ์ฐจ ๋‚ด์šฉ 2๋ฒˆ ๋“ค์—ˆ๊ณ , ๋‚ด์ผ ๋˜ ๋“ค์–ด์•ผ๊ฒ ๋‹ค.




[Unity] TIL 11


์ฐธ๊ณ  : ์œ ๋‹ˆํ‹ฐ TOP


๐Ÿ“”

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ