์งˆ๋ฌธ


1. C++์˜ ์‹ฑ๊ธ€ํ„ด์—์„œ ๋ฐ˜๋“œ์‹œ ๋ ˆํผ๋Ÿฐ์Šคorํฌ์ธํ„ฐ ์จ์•ผ ํ•˜๋Š” ์ด์œ 

2. C#์˜ static instance์˜ ์ดˆ๊ธฐํ™” ์ˆœ์„œ๋„ C++์ฒ˜๋Ÿผ ๋ณด์žฅ๋˜์ง€ ์•Š๋Š”์ง€?



C#์—์„œ ์‹ฑ๊ธ€ํ„ด์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š”


public class FileSystem

{

private static FileSystem instance = null;

ย  ย ย 

ย  ย  public FileSystem GetInstance()

ย  ย  {

if(instance == null)

ย  ย  ย  ย  instance = this;

ย  ย  ย  ย ย 

ย  ย  ย  ย  return instnace;

ย  ย  }

}


์ด๋Ÿฐ์‹์œผ๋กœ GetInstance๊ฐ€ ํ•ด๋‹น ํด๋ž˜์Šค ํƒ€์ž…์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•จ.



๊ทธ๋Ÿฐ๋ฐ C++์˜ ์‹ฑ๊ธ€ํ„ด์—์„œ๋Š”


class FileSystem

{

public:

static FileSystem& instance()

{

ย  ย  static FileSystem instance_;

return instance_;

}

ย  ย ย 

private:

FileSystem() {}

~FileSystem() {}


};


์ด๋Ÿฐ์‹์œผ๋กœ ์ฐธ์กฐ์ž(orํฌ์ธํ„ฐ)ํ˜•์‹์œผ๋กœ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•˜๋Š”๋ฐ

์–ผ์ถ” ์ฐพ์•„๋ณธ ๋ฐ”๋กœ๋Š” static instance์˜ ์ดˆ๊ธฐํ™” ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š์•„์„œ๋ผ๋Š”๋ฐ

์ด๊ฒŒ ๋งž๋Š”์ง€, ๋งž๋‹ค๋ฉด ์ข€ ๋” ๋””ํ…Œ์ผํ•œ ์„ค๋ช…์ด ๊ถ๊ธˆํ•จ


๊ทธ๋ฆฌ๊ณ  C#๋„ C++์ฒ˜๋Ÿผ static instance์˜ ์ดˆ๊ธฐํ™” ์ˆœ์„œ๋ฅผ ๋ณด์žฅ์•ˆํ•จ? ์–ด๋А ๋‹ท๋„ท๊ณ ์ˆ˜ ํ™ˆํŽ˜์ด์ง€์—์„œ๋Š” C#์€ ๋ณด์žฅํ•œ๋‹ค๋˜๋ฐ(์„ ์–ธ์ˆœ์„œ)