Covariant return types - C# 9.0 specification proposals | Microsoft Learn
ํด๋์ค Person, Employee๊ฐ ์์
Employee ๋ Person์ ํ์ฅ์.ย
C# ์์๋ Person์ ๊ฐ์ ๋ฉ์๋๊ฐ ์์๊ฒฝ์ฐ, ํ์ฅ ํด๋์ค์์ ์ฌ์ ์ ๊ฐ๋ฅํจ.
C# 9.0์์ย ํ์ ํด๋์ค(Employee) ์์ ์ฌ์ ์๋ ๋ฉ์๋์ ๋ฐํ ํ์์ ๋ณ๊ฒฝํ ์ ์์๋๋ฐ ์ด์ ๋จ. (์๋๋ ์ ๋ด์์ผ๋ก ๋น๋ํ๋ฉด ์๋ฌ ๋ด์)
๊ทธ๊ฒ Covariant return ์.
Employeeย ํด๋์ค์ ์ธ์คํด์ค๋ย Employeeย ํด๋์ค๋ฅผ ์ฌ์ ์ํ๋ GetPerson ๋ฉ์๋์ ์ํด ๋ฐํ.
์ด๋ GetPerson ๋ฉ์๋์ ๋ฐํ ํ์์ Employee ํด๋์ค์ Employee.
๋ค๋ฅธ ์์
9.0 ์ด์ ์๋ ์ด๋ฐ ์๋ฌ๊ฐ ๋ณ์
error CS0508: 'Tiger.GetFood()': return type must be 'Food' to match overridden member 'Animal.GetFood()'
C #์ ๋ฐํ ํ์ ๊ณต๋ถ์ฐ์ ์ง์ํฉ๋๊น? - ์คํ ์ค๋ฒํ๋ก (stackoverflow.com)
์ด ์ ๊ฒ ์ด์ ๋๋๊ตฌ๋
9.0์ ๋ง์ ๋๋๊ธฐ๋ฅ ๋๋ฌด ๋ง์๊ฑฐ์ผ์.
์ ์ฝ๋๋ชฝํค์ธ ์ ๋ ํ ๋ฐฉ์ ์ดํด๊ฐ๋ค์ ๊ฐ์จํฉ๋๋ค
์ ๋ฌ๋ฉด ์ด๋ป๊ฒ ํ์ฉํ ์์์ด?
์ค ํ๊ณ ์ฐพ์๋ณด๋ ์ ๋ํฐ์์ ๋ชป์ฐ๋ค 2023์์๋ ์ง์์ํ๋๊ฑฐ ๋ณด๋ฉด ๊ทธ๋ฅ ๊ธฐ๋ํ์ง ๋ง์์ผ ํ ๋ฏ
์ง์ง๋ค