ํ•จ์ˆ˜์ž์ฒด๋Š” ์ฝ”๋“œ๋ผ์„œ ๊ฐ์ฒด๊ฐ€ ํŒŒ๊ดด๋˜๋”๋ผ๋„ ๋‹น์—ฐํžˆ ํŒŒ๊ดด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.ย 

C#์—์„œย ์˜ค๋ธŒ์ ํŠธ์˜ ์ •์ ํ•จ์ˆ˜๋ฅผ ์ œ์™ธํ•œย ์ผ๋ฐ˜ํ•จ์ˆ˜๋“ค์€ thiscall ์ž…๋‹ˆ๋‹ค.ย 

thiscall์ด๋ผ ํ•จ์€ ํ•จ์ˆ˜ ํ˜ธ์ถœ์‹œ ํ˜ธ์ถœํ•œ ๊ฐ์ฒด๋ฅผ this๋กœ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.ย 

๊ฐ์ฒด๊ฐ€ valid์ด๋“ , null์ด๋“  ์œ ํšจํ•˜๋“  ํ•จ์ˆ˜์ž์ฒด๋Š” ์ฝ”๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹น์—ฐํžˆ ํŒŒ๊ดด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.





๊ฐ„๋‹จํ•œ ์˜ˆ์ œ ์ž…๋‹ˆ๋‹ค. TestStruct๋Š” null์ด์ง€๋งŒ HelloWorld ํ•จ์ˆ˜๋Š” ํ˜ธ์ถœ ํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ƒํƒœ์—์„œ HelloWorldํ•จ์ˆ˜์— ๋„˜์–ด์˜จ this๋Š” null์ด๋ฏ€๋กœ ๋‹น์—ฐํžˆ ๋งด๋ฒ„ ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•˜๋Š”๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅ ํ•ฉ๋‹ˆ๋‹ค.


๋ฌผ๋ก  ์œ„์—๋Š”ย ๊ทธ๋ƒฅ ์–ต์ง€๋กœ ๋งŒ๋“  ์˜ˆ์ œ์ด๊ณ 

C#์˜ managedํ•˜์—์„œ๋Š” null reference์˜ ํ•จ์ˆ˜ํ˜ธ์ถœ๋„ ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์‰ฝ๊ฒŒ ํ™•์ธํ• ์ˆ˜๋Š” ์žˆ์Šต๋‹ˆ๋‹ค.

C++ native์—์„œ๋Š” ์œ ์˜ํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.ย