์ข€ ์–ด๋ ค์šด ๊ฐ•์˜ ๋ณด๊ณ ์‹ถ์–ด์„œ ์œ ๋ฐ๋ฏธ ์œ ๋‹ˆํ‹ฐ ์˜์–ด ๊ฐ•์ขŒ ๋ณด๋Š”๋ฐ ๋Œ€์ถฉ ์ถ”์ƒํ™” ์ œ๋„ค๋ฆญ ํด๋ž˜์Šค ํ•˜๋‚˜ ๋งŒ๋“ค๊ณ  ์žˆ์—ˆ์Œ ๊ทผ๋ฐ


์ œ๋„ค๋ฆญ์ด๋ž‘ where์€ ๋ชจ๋ฅด๋Š” ๊ฐœ๋…์ด๋ผ ๋”ฐ๋กœ ์ฐพ์•„๋ณด๋Š”๋ฐ ๊ถ๊ธˆ์ฆ์ด ์ƒ๊น€ ์˜์ƒ์—์„œ ์ฝ”๋“œ๋ฅผ


public abstract class ๋Œ€์ถฉํด๋ž˜์Šค์ด๋ฆ„<T> : MonoBehaviour where T: MonoBehaviour ์ด๋ ‡๊ฒŒ ์“ฐ๋˜๋ฐ


๊ตณ์ด MonoBehaviour๋ฅผ ๋”ฐ๋กœ ์ƒ์†์„ ๋ฐ›์•„์•ผํ•จ? ๊ทธ๋Ÿฌ๋‹ˆ๊น


public abstract class ๋Œ€์ถฉํด๋ž˜์Šค์ด๋ฆ„<T> where T: MonoBehaviour ์ด๋ ‡๊ฒŒ ์“ฐ๋ฉด ์•ˆ๋˜๋Š”๊ฑฐ์ž„?


์˜์–ด์— ์ž๋™ ์ž๋ง‰์ด๊ณ  ๋‚ด๊ฐ€ ์˜์–ด์‹ค๋ ฅ๋”ธ๋ ค์„œ ๋ญ๋ผ ๋งํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋Š”๋ฐ ์ž๋™ ์ž๋ง‰์ƒ์œผ๋ก  ๋”ฑํžˆ ์„ค๋ช…์ด ์—†์—ˆ์Œ


where์ด ์ œ๋„ค๋ฆญ์œผ๋กœ ์˜ฌ์ˆ˜ ์žˆ๋Š” ์กฐ๊ฑด์„ ์„ค์ •ํ•˜๋Š”๊ฑด๋ฐ where T: MonoBehaviour์€ MonoBehaviour๋ฅผ ์ƒ์†๋ฐ›๋Š” ํƒ€์ž…๋งŒ


์ € <T>์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค๋Š”๊ฑด๋ฐ ๊ทธ๋Ÿผ ๊ฒฐ๊ตญ MonoBehaviour๋ฅผ ์ด๋ฏธ ์ƒ์†๋ฐ›์€๊ฑฐ๋‚˜ ๋‹ค๋ฆ„์—†๋Š”๊ฑฐ ์•„๋‹˜?


๋‚ด๊ฐ€ ์•„์ง ๊ฒœ ํ•˜๋‚˜๋„ ์•ˆ๋งŒ๋“ค์–ด๋ณธ ์ดˆ์งœ์—๋‹ค c#๋„ ๋”ฐ๋กœ ๊ณต๋ถ€ํ•œ๊ฒƒ๋„ ์•„๋‹ˆ๊ณ  ๋‹ค๋ฅธ ์–ธ์–ด๋„ ๋”ฑํžˆ ํ•  ์ค„ ์•„๋Š”๊ฒŒ ์—†์–ด์„œ ๊ฑ ๋‚ด๊ฐ€ ํ‹€๋ฆฐ๊ฑด๊ฐ€