[๐ฃ์ง๋ฌธ]
์ ๋ํฐ C# ๊ฐ์ํจ์ ์ง๋ฌธ์
๋๋ค..
์ต๋ช
(122.35)
2023-01-13 11:11
์ถ์ฒ 0
class Command
{
public:
virtual ~Command() {}
virtual void execute() = 0;
};class JumpCommand : public Command
{
public:
virtual void execute() { jump(); }
};
class FireCommand : public Command
{
public:
virtual void execute() { fireGun(); }
};
// You get the idea...1. ์ฒ์ ์ฝ๋๋ธ๋ญ์์ย public : ์ผ๋ก ์ด๊ฑด ๊ทธ๋ฅ public ์ผ๋ก ํ๋ฒ์ ๋ฌถ๊ธฐ ์ํ ํํ ๋ฐฉ์์ธ๊ฑด์ง..
2. ์ฒ์ ์ฝ๋๋ธ๋ญ์์ย ย virtual ~Command()ย ๊ฐ ๊ฐ์ํจ์์ธ๊ฑด ์๊ฒ ๋๋ฐ, ~๊ฐ ๋ฌด์จ ์๋ฏธ์ธ๊ฑด์ง..ย
๊ถ๊ธํฉ๋๋ค.. ํน์๋ชฐ๋ผ 2๋ฒ์งธ ์ฝ๋๋ธ๋ญ๋ ์ฒจ๋ถํด ๋๋ฆฝ๋๋ค..
https://learn.microsoft.com/ko-kr/dotnet/csharp/programming-guide/classes-and-structs/finalizers
์๋ฉธ์๋ผ๋
๊ฑฐ์ผ์.
์ ๊ฐ์ฌํฉ๋๋ค
1 ใ ใ 2 ๊ฐ์ฒด๊ฐ ํ๊ดด๋ ๋ ํธ์ถ๋๋ ํจ์์ธ ์๋ฉธ์
์๋ฉธ์๊ณ ๋ณดํต ์๋ฉธ์๋ค์ ๊ฐ์ํจ์๋ก ๋ฑ๋กํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์. ์ถ์ํ ์์ค์ ๊ฐ์ง๋ ์ปจํ ์ด๋๋ค์ ๋ค๋ฃฐ๋ ์์๋ ๋ฒจ์ ํด๋์ค ์ธํฐํ์ด์ค์ธ ์ฑ๋ก ์ญ์ ๋ฅผ ํ๋ฉด ์๋ฉธ์๊ฐ virtual์ด ์๋ ๊ฒฝ์ฐ์ ์ ๋๋ก ์ ๋ฆฌ๊ฐ ์๋ ์ ์์.. ์ C++์๊ธฐ์ธ๋ฐ C#๋ ๊ทธ๋ฐ์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค
C#์ ๊ฐ๋น์ง ์ปฌ๋ ํฐ ์ฑ๋ฅ ๋จ์ด์ง๋๊น ์๋ฉธ์ ์ฐ๋๊ฑฐ ์์ ํ๋ผ๋๋ฐ...?
์ฌ๊ธฐ์ 3๋ฒ์งธ ๊ธ ๋ณด๊ณ ์๊ธด ํ๋ฐ ์ ๋ํฐ๋ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๋ ค๋์ง ๋ชจ๋ฅด๊ฒ ๋ค์
https://daekyoulibrary.tistory.com/category/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%EC%96%B8%EC%96%B4/C%2B%2B
c#์์ ์๋ฉธ์ ์ฐ๋๊ฑด ๊ด์ฐฎ์๋ฐ ์ธ๋ถ ๋ฆฌ์์ค ๋ฑ์ ์ฌ์ฉํ๊ณ ํ๊ดดํด์ผ ํ ๊ฒฝ์ฐ์๋ GC ์ฒ๋ฆฌ์ค์ ์ฑ๋ฅ์ ํ๊ฐ ์ผ์ด๋ ์ ์์ด์ IDispose ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํ์์ผ์ ๋ฆฌ์์ค ํด์ ํ๋๊ฒ ์ฑ๋ฅ ํฅ์์ ๋์์ด ๋จ
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
c++ ๋ง์์ ๋์์ธํจํด์์ ๋ช ๋ นํจํด ๊ณต๋ถํ๋๋ฐ ๋์์
์ ๋ชฉ ๋์ ์ค์ก๋ค์
์ด? ์ด์ฑ ๋ณธ ์ ์ด ์๋๊ฑฐ ๊ฐ์๋ฐ