์ ๊ฒ ๋์ฒด ๋ญ์?
[๐ฌ] ๋ฌธ๋ฒ ์ฒ์๋ณด๋๊ฑฐ ๋์์ ์๋ฌด๋ฆฌ ๊ฒ์ํด๋ ๋ชจ๋ฅด๊ฒ ์ ์ ๋ฐ ์๋ ค์ค
์ต๋ช
(121.142)
2022-11-18 21:19
์ถ์ฒ 1
๋๊ธ 18
๋ค๋ฅธ ๊ฒ์๊ธ
-
๋ฐ์ด๋ธ์ ์ฑ๊ณต ๊ธฐ๋ฐ์ ๋ฏผํธ๋ก์ผ ํน์ ์ ์กฐ์ง ๋ฌธํ๊ฐ ์์๋ค[๋ด์ค] ๊ฒ์๋ฉ์นด | 22.11.17์ถ์ฒ 2
-
[UNITY DOTS] Match3์์ GamePiece ์ด๋ [8][๐ฌ] Mr๋น๊ทธ๋ (mrbinggrae) | 22.11.18์ถ์ฒ 3
-
์์ ๋ฐ์ธ) BIC ์ธ๋ ๋ถ์ค์ ์ฌ๊ธฐ๊พผ์ด ๋๋ฌด ๋ง์๋ฏ [2][๐ฌ] Direct(jamsaenim) | 22.11.18์ถ์ฒ 1
-
๊ตฌ๊ธ ๊ด๊ณ ๋ง๊ณ ๋ ๋ค๋ฅธ ๊ด๊ณ ๋ ๋ฃ์ด์ผํจ? [3][๐ฌ] ์ต๋ช (220.89) | 22.11.18์ถ์ฒ 0
-
๋ถ์ฐ ๋์ฐฉํ์ด [4][๐ฌ] ์ต๋ช (1.211) | 22.11.18์ถ์ฒ 0
-
์ง์ง MMO RPG๋ ๊ณ์ ํ๋ DB๋๋ ์ด๋ง์ด๋งํ๊ฒ ๋ค [2][๐ฌ] ์ต๋ช (211.196) | 22.11.18์ถ์ฒ 0
-
๊ฒจ์ธ์ ๋ฐํ ๋ฐ๋ฐ์ง ์ ๊ณ ์๋ฉด ์๋๊ฒ๋ค ์๋ถ [3][๐ฌ] ์ต๋ช (222.106) | 22.11.18์ถ์ฒ 0
-
์์ ์ ์ฌ๋ ค๋๋ฐ ํ๋ฒ๋ง ๋ด์ฃผ์ธ์. [13][๐ฌ] ์ต๋ช (58.77) | 22.11.18์ถ์ฒ 0
-
Unitask ์ด๋ป๊ฒ ์ฐ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค ์๋ฃ๊ฐ ์๋ค [7][๐ฌ] ๊ณ ์ ์(puren37) | 22.11.18์ถ์ฒ 0
-
์ค๋ ์์บ ๊ณต๋ถํ๊ธฐ๊ฐ ์ซ์ง [3][๐ฌ] ์ต๋ช (119.77) | 22.11.18์ถ์ฒ 0
์ ๋ค๋ฆญํจ์์
๋ด๊ฐ ์๊ณ ์๋ ์ง์์ผ๋ก๋ ๋งค๊ฐ๋ณ์๋ฃ๋ ๋ถ๋ถ์ (out var g) ์ด๋ฐ๊ฑฐ๋ ํจ์ ์ ์ธํ ๋๋ง ์ฐ๋๊ฑด๋ฐ ์ ๊ฒ ์ด๋ป๊ฒ ๋๋๊ฑฐ์?
์์ ์ฝ๋์ ์๋ณธ์ ์๋์. int g = 0; if(agg(out g)) ์ด๊ฑธ ๊ทธ๋ฅ ๊ฐ๋จํ๊ฒ agg(out var g) ํด๋ฒ๋ฆฐ๊ฑฐ.
์๋ T์ ์ํ๋ ์๋ฃํ์ ๋ฃ์ผ๋ฉด ์๋์ผ๋ก T๊ฐ ํด๋น ์๋ฃํ์ผ๋ก ๋ฐ๋๋ค๊ณ ์๊ฐํ๋ฉด ํธํจ. ์์์์๋ int๋ก ๋ฐ๋์๋ค.
out ๊ฐ์ ๊ฒฝ์ฐ ref์ธ๋ฐ ํ ๋น์ ์๋๊ณ ๊บผ๋ด์ฐ๋ ๊ฒ๋ง ๊ฐ๋ฅํ ref๋ผ ์๊ฐํ๋ฉด ํธํจ. ํจ์๋ ๋ฐํํ์ด ํ๋์ธ๋ฐ ์ฌ๋ฌ ๊ฐ์ ๊ฒฐ๊ณผ๋ก ๋ฐ์์ค๊ธฐ ์ํด ๋ง๋ค์ด์ก๋ค๊ณ ์๊ณ ์์.
๊ทผ๋ฐ ๊ทธ๊ฒ ์ ๋งค์๋ ํธ์ถ๋ถ๋ถ์ ๋ค์ด๊ฐ๋์ง ๋ชจ๋ฅด๊ฒ ์ ใ
๊ทธ๋ฅ ๋ฃ์๋ฐ๊ฐ ์์ผ๋๊น ๋ฃ์๊ฑฐ๋ผ๊ณ ๋ณด๋ฉด ๋จ. out ๋ถ์ด์์ผ๋ฉด ๊ฐ ๋ฃ๋ ๊ณณ์ด๋ผ๊ธฐ๋ณด๋ค๋ ๊ทธ๋ฅ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋๊ณณ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ํธํจ
์ฐธ๊ณ ๋ก in ํค์๋๋ ๋ฃ๋ ๋ณ์๋ฅผ ํจ์ ๋ด์์ ์์ ํ์ง ๋ง๋ผ๋ ๋ง์ด๊ณ , ref ํค์๋๋ ํจ์ ๋ด์์ ๋ณ์๋ฅผ ์์ ํ์ผ๋ฉด ๊ทธ ๋ณ์ ๋ค์ ๊ฐ์ ธ์๋ผ, out ํค์๋๋ out ๋ค์ ์๋ ๋ณ์์ ๊ฐ์ ๋ฃ์ด๋๋ผ๋ ๋ง์
์ ๊ธฐ์ ๊ฒฝ์ฐ var g ํด๋์๊ฑด out์ด ๋ฐํํ๋ ๊ฒฐ๊ณผ๊ฐ์ ์ฆ์ํด์ g๋ผ๋ ๋ณ์๋ฅผ ๋ง๋ค์ด์ ๋ด์์ค๊ฒ ๋ค๋ ๋ป์. g๋ฅผ ์ธ๋ถ์์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋จ์ผ๋ฉด ๊ตณ์ด var ์์ฐ๊ณ out g๋ผ๊ณ ๋ง ์จ๋ ๋จ
๊ฐ์ฌํฉ๋๋ค ์์ ํ ์ดํดํจ
ํธ์ถ๋ถ์๋ ์จ์ผํ๋๊ฒ ๋ง๋? ๋๋ ์ฒจ๋ณด๋ ๊ฑฐ๊ธด ํ๋ค
var someVariable; SomeMethod(out someVariable); ์ด๊ฑฐ๋ SomeMethod(out var someVariable); ์ด๊ฒ ๋๊ฐ์ ์ฝ๋๊ฐ ์ค์ด๋ค์ง๋ง ๊ฐ๋ ์ฑ์ด ๋จ์ด์ ธ์ ๋ณ๋ก ์ข์ ํ๋ํฐ์ค๋ ์๋
๊ฒ๋ฉ๋ ์ฝ๋์
ํฌํค ํจ์ ๊ณต์ ์ํ์ ๋ค์ด์๋ ์ฝ๋๋ผ.... ใ
out ๋งค๊ฐ ๋ณ์ ๊ฒ์
ํด์ค
https://learn.microsoft.com/ko-kr/dotnet/csharp/language-reference/keywords/out-parameter-modifier
agg ๋ฉ์๋๋ ์ ๋ค๋ฆญ ๋ฉ์๋์ด๊ณ bool์ ๋ฐํํ๋ if๋ฌธ์ผ๋ก ์กฐ๊ฑด ๊ฐ๋ฅ. agg ๋ฉ์๋ ์์ ๋ด์ฉ์ด ๊ตฌํ์ด ์๋์ด์์ด์ ๊ทธ๋ ์ง(๋ฏธ๊ตฌํ์๋ฌ์ถ๋ ฅ ๋ช ๋ น์ด๋ง ์์) ๋ฉ์๋ ์์์ ๋งค๊ฐ๋ณ์ g์ ๊ฐ์ ๋ฃ์ ์ ์์. ํธ์ถํ ๋ฌธ๋งฅ์์ (if๋ฌธ ๋ธ๋ก) g๋ฅผ ์ฌ์ฉํ๋ฉด๋จ (out ๊ธฐ๋ฅ) out์ ์ฐธ์กฐํฌ์ธํฐ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๋ํฐ์์ raycast() ๊ฐ ์ด๋ฐ์
์ ๋ค๋ฆญ์ด ์ค๊ณ์ ๊ธฐ๋ณธ์ธ๋ฐ ๊ฒ๋ฉ์ด๋ผ๋ ๋์ ๋์ฒด