enum ์ด์๋ผ ํ๋ฒ ์ ์ธํ๋ฉด ๊ธ๋ก๋ฒ์??
์์ํ ๋ ํจ ์ ์ธํ๋ฉด ์ด๋์๋ ๋ถ๋ฅผ์์์??
๊ฑ ๋งคํฌ๋ก๋ผ๊ณ ์๊ฐํ๊ณ ์จ๋ ๋จ??
์๋๋ฉด ๊ฑ ์ ์ธํ ๊ฐ์ฒด ๋ด๋ถ์์๋ง ํต์ฉ๋๋๊ฑฐ์??
๊ทธ๋ผ ๋ถ๋ฅผ๋ ๋ท ๋ก์ผ์ด์ ์ผ๋ก obj_A.enum_value.enum_valueA ์ด๋ฐ์์ผ๋ก ๋ถ๋ฅผ์ ์๋๊ฑฐ ์๋??
์ด๋ฐ ์จ1๋ฐ enum์ ํ๋ฒ๋ ์์จ๋ดค๋๋ ์กด๋ ํท๊ฐ๋ฆฌ๋ค
enum์ ํด๋์ค ๋ฐ์ ์ ์ธํ๋ฉด ๊ธ๋ก๋ฒ์ด๊ณ ์์ ์ ์ธํ๋ฉด ๋ด๋ถ์ง
๊ทธ๋ผ ๋ด๋ถ์ ์๋๊ฑฐ ํ ๊ฐ์ฒด์์ ๋ถ๋ฌ์ฌ๋ ์ด๋ป๊ฒํจ? ํผ๋ธ๋ฆญ ๋ถ๋ฅด๋ฏ์ด ๋ท๋ก์ผ์ด์ ์ผ๋ก ๋ถ๋ฅผ์์์??
Public enum์ด๋ฉด ๋ณ์๋ถ๋ฌ์ค๋ฏ์ด ํด๋์ค๋ฅผ ๋ฐ์์์ ์จ์ผ์ง
๋ ๊ท์ฐฎ์์ ์ธ๋ถ์์ ์ธ๊ฑฐ๋ฉด ๋ฌด์กฐ๊ฑด ๊ธ๋ก๋ฒ๋ก ์ ์ธํจ
๋๋ ๊ฑ ๊ธ๋ก๋ฒ๋ก ์ ์ธํ๊ณ ์จ์ผ๊ฒ ๋ค
๋ณ์ ์๋ผ ์ง์ง ์์ค๋จ์ด์ง๋ ๋ต๊ผฌ๋ผ์งํ๊ณค
ใด ์ด์๋ผ ์์ค์๋ ๋ต๋ณ์ ๋ชปํจ. ๋ด์ง๋ฌธ๋ ์๋๋ฐ ์์ค์๊ฒ ๋ต๋ณ์ข ํด๋ด๋ผ ๋๊ฐ
enum์ ํด๋์ค ๋ด๋ถ์ ์ ์ธํ๊ฑฐ๋ฉด ํด๋น ํด๋์ค์์๋ง ์ฐ๊ฒ ๋จ ์๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง์ธ๋ฐ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌํ๋ฉด ๋์ง ๋ฌด์จ ์จ๋ฐ ํด๋์ค๋ก ๋ฐ์์ ๋๋นก๋๊ฐ์๋ผ์ผ
์๋ ์ง๋ฌธ์์ฒด๊ฐ ํด๋์ค์ ์ธ์ ๋ด๋ถ์์ ํ ๊ฑด์ง ์ธ๋ถ์์ํ๋๊ฑด์ง ์ธ๋ถ์์ํ๋๊ฑด์ง ๋ญ ์ด๋์ง ์์ฒด๋ฅผ ๋ชฐ๋ผ์ ์ง๋ฌธํ๊ฑด๋ฐ?
ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌํ๋ฉด ํด๋์ค ์ ์ธ ์ํด๋ ๋๋๊ฑฐ๋?
๋๊ฐ ๋ต๋ณ๋จ๊ฑธ ๋ณด์ธ์ ์ข๋ณ์ ์๋ผ์ผ ๋ด๊ฐ ๋ ๋ต๋ณ์์ค์ด ๋ณ์ ์ด๋ฌ์ง ์ง๋ฌธ์ ๋ํด ์๊ธฐํ๋?
enum ์ ํด๋์ค ์์์ ์ ์ธํ๋ฉด ํด๋น ํด๋์ค์์๋ง ์ฐ๋๊ฑฐ์? ใ ใ ใ ์ ๋ฐํ ๊ฐ์๋ฆฌ๋ค ใ ใ ใ
๋งํ๋ ๊ผฌ๋ผ์ง๋ณด๋ ์กด๋ ์คํ๊ฒํฐ ์ฝ๋ ์ฒ๋ง๋ค๊ณ ์๊ฒ ๋ค ๋ธ ์ ์๋ผ
์ ์ด์ ๋ด๋ถ์ ์ ์ธํ๊ฑธ ์ธ๋ถ์์ ์ฐ๊ฒ ๋ค๋๋ฐ "๋ด๋ถ์์ ์ด๋ค๋์๋ฆฌ์ธ๋ฐ" ๋ผ๋๋ง์ด ์ ๋์ค๋๊ฑฐ์ผ ๋๋ ์ฝ๋ฉ๋ณด๋จ ๊ตญ์ด ๋ ํด๋ถํฐ ๋ค์๋๋ผ. ๋๋ ๊ทธ๋์ ๊ฑ ์ธ๋ถ์ ์ ์ธํ๋ผ๊ณ ํด์ค๊ฑฐ๊ณ .
๋ณ์ ์ง๋๊ฐ๋ ์ฌ๋ํํ ํ์์ณ๋ฃ๊ณ ์๋ค ์ง ํ๋ค
๋ณ์ ์๋ผใ ใ ใ enum ๋ด๋ถ์์ ์ ์ธํ๊ฑธ ๋ญํ๋ค๊ณ ์ธ๋ถ์์ ๋ง์ง์๊ฑฐ๋ ค ์ข๋ณ์ ์ ์ฝ๋ ์์ฑ๊ผฌ๋ผ์ง๊ฐ ๋์ ํคํ๋ค
enum์ ํด๋์ค ์์๋ค ์ ์ธํด๋๊ณ ๊ทธ๋ผ ์ด๋์ ์ฐ๊ฒ?ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ
๋ด๊ฐ ๋ด๋ถ์ ์ ์ธ์ ํ๋ค๋๊ฒ ์๋๊ณ ์ง๋ฌธ์์ฑ์๊ฐ ๋ชฐ๋ผ์ ๋ด๊ฐ ์ธ๋ถ์ ์ ์ธํ๋ค๊ณ ํด์ค๊ฑฐ๋ผ๊ณ ์ฝ๋ฉ์ธ์ด ๋ฐฐ์ฐ์ง ๋ง๊ณ ์ผ๋ค๋ํ๊ธ๋ถํฐ ๋๊ณ ์ ์ง์ง ใ ใ
ใ ใ (121.186)๊ทธ๋ผ ๋ด๋ถ์ ์๋๊ฑฐ ํ ๊ฐ์ฒด์์ ๋ถ๋ฌ์ฌ๋ ์ด๋ป๊ฒํจ? ํผ๋ธ๋ฆญ ๋ถ๋ฅด๋ฏ์ด ๋ท๋ก์ผ์ด์ ์ผ๋ก ๋ถ๋ฅผ์์์??10.21 20:33ใ ใ (27.126)Public enum์ด๋ฉด ๋ณ์๋ถ๋ฌ์ค๋ฏ์ด ํด๋์ค๋ฅผ ๋ฐ์์์ ์จ์ผ์ง10.21 20:35ใ ใ (27.126)๋ ๊ท์ฐฎ์์ ์ธ๋ถ์์ ์ธ๊ฑฐ๋ฉด ๋ฌด์กฐ๊ฑด ๊ธ๋ก๋ฒ๋ก ์ ์ธํจ์ด๊ฒ ๋ ํด๊ฐ ์๋๋?
"public enum์ด๋ฉด ๋ณ์๋ถ๋ฌ์ค๋ฏ์ด ํด๋์ค๋ฅธ ๋ฐ์์์ ์จ์ผ์ง" ๋๊ฐ ๋จ๊ธด๋ต๋ณ์ ๋ณ์ ์๋ผ์ผ ๊ธฐ์ต๋ ฅ ๋ถ์ด์๋๊ฐ
enum์ ๋ด๋ถ์ ์ธํ๊ณ ํด๋์ค๋ฅผ ๋ฐ์์์ ์ด๋ค๋ ์์ฒด๊ฐ ๋ณ์ ์ด๋ผ๊ตฌ์^^
๊ทธ๋ ํด๋์ค ๋ด๋ถ์ ์์ฑ๋ enum์ ์ธ๋ถ์์ ์ฐ๋ ค๋ฉด ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์์ค๊ฑด ๋ญ๋ก ๋ฐ์์ค๊ฑด ํด๋น ํด๋์ค๋ฅผ ๊ทธ ์ธ๋ถ์์ ์ ์ธ์ ํ๊ฑฐ๋ ๋ญ ์ฑ๊ธํค์ ํ๊ฑฐ๋ ํด์ผ ๋ฐ์์ฌ์ ์์์ ๊ทธ๊ณผ์ ์ด ๊ท์ฐฎ์์ ๊ฑ ๊ธ๋ก๋ฒ๋ก enum ์ ์ธํ๋ค๋๊ฑด๋ฐ ๋ญ ๋ด๋ถ์์ ์ฌ์ฉํ๋ค๋๊ฑด๋ฐ๊ฐ ์ณ ๋์
์ ๋ชฐ๋ผ์ ์ง๋ฌธํ๋ ์์ฑ์๋ฅผ ๋ณ์ ์ ๋ง๋ค์ด ๊ทธ๋์ ์์ฑ์๋ "๋๋ ๊ฑ ์ธ๋ถ์๋ค ์จ์ผ์ง" ํ๊ณ ๊นจ๋ฌ์์์
๋ ์์ค์ด ๋ณ์ ์ด๋๊น ์ค๋ช ํด๋ ๋ชป์์๋จน์ํ ๋ฐ ์ด์ฌํ ์คํ๊ฒํฐ์ฝ๋๋ ์ฒ๋ง๋์ธ์
์ง๋ฌธํ๋ ๋ณ์ ๋ง๋ ์ ์๊ณ ๋ ๋ต์ด ๋ณ์ ์ด๋๊ฑฐ๋ค ๋ณ์ ์ใ ใ
์ง๊ธ ๋๊ฐ ์์ดํผ๊ตฌ๋ถ์ ์ํ๊ณ ์ฝ์๊ฑฐ๊ฐ์๋ฐ enum์ ํด๋์ค๋ด๋ถ์ ์ ์ธํ๋ฉด ์ด๋ป๊ฒ ์ธ๋ถ์์ ์ฐ๋๊ณ ๋ฌผ์ด๋ณธ๊ฑฐ์ ์น์ ํ ๋๋ตํด์ค๊ฑฐ๊ณ ๊ทธ๊ฒ ๋ง์๋๋ ๋ฐฉ๋ฒ์ด๋๊น ์ธ๋ถ์ ์ ์ธํ๋ผ๊ณ ์กฐ์ธํด์ค๊ฒ๋ ๋์ฌ^^ ์ ๋ฐ ํ๊ธ๋ค์๋ฐฐ์ฐ๊ณ ์๋ผ
๋๊ฐ์ ์ธ์
๋ง์๋๋ ๋ฐฉ๋ฒใ ใ ใ ใ ๊ท์ฐฎ์์๋ผ๊ณ ์ง๊ฐ ์จ๋๊ณ ๊ฐ์๊ธฐ ๋ง์๋๋ ๋ฐฉ๋ฒใ ์๋ผ์ด ๋ณ์ ์๋ผ์ผ
๊ทธ๋ ํํธ์ ์ด๊ธ๋๋ ๋ง๊ผฌํฌ๋ฆฌ๋ผ๋ ์ก์์ ์์ผ๋ฉด ์ก์์ ์ด๊ฒจ๋ผ..
ํํธ์ ์ด๊ธ๋๋๊ฒ ์๋๋ผ ๊ทธ๊ฒ ํต์ฌ์ด๊ณ ๋๊ฐ ๋ง๋ฐ๊พธ๋๊น ์ง์๊ฑฐ๋ค ์ข๋ณ์ ์ ๋ด๊ฐ ์์ค๋จ์ด์ง๋คํ๊ฒ๋ ๊ทธ ๋๊ฐ๋ต๋ณ์ด๋ค
์ข์ง์์ ๋ฐฉ๋ฒ์ด๋ผ์ ์ํ๋ค์ ๊ท์ฐฎ์์ ์ํ๋ค๋ ์กด๋๊ฒ ๋ค๋ฅธ ์๋ฏธ์์ ๋๋๊ฐ๋ฆฌ์๋ผ์ผ
ใ ใ ใ ์ฐ๋ฐ ์๋ผ ใ ใ ๋ง์ด ์ด๋ค๋ฅด๊ณ ์๋ค๋ฅด๋ค๊ณ ์!! ๋นผ์ ์ก!! ใ ใ ใ ใ
๊ทธ๋ ๊ทธ๋ ๋จ์ด ํ๋ํ๋์ ์ง์คํด์ ํ ์จ๋ผ๋ ๋ฌ๋ผ์ง๋ฉด ๊ทธ๊ฑฐ์ ๊ผฌํฌ๋ฆฌ๋ฅผ ์ก์์ผ ๋ ์ด๊ฑฐ์ง๊ฐ ์ฑ๋ฆฝ์ด ๋๋๊ฑฐ๋๊น.
์ด๊ฑธ ๋จ์ด๊ผฌํฌ๋ฆฌ๋ก ๋ชฐ์๊ฐ๋ค๋ใ ใ ๋๊ฐ ์๋ชป๋๋ฐฉ๋ฒ์ด๋ผํ์ผ๋ ์ ์๋ชป๋ ๋ฐฉ๋ฒ์ธ์ง ์ค๋ช ์ข ํด๋ด~
์ฑ๋ฅ์ฐจ์ด๊ฐ ์๋ค๊ณ ๊ฐ์ ํ์๋ ํ์๋ ๊ท์ฐฎ๊ฑฐ๋ ๊ฐ๋ ์ฑ๋จ์ด์ง๋ ์ฝ๋๊ฐ ์ข์ง์์ ์ฝ๋์ง ๋์ฒด ์ด๋ค๊ฒ ์ข์ง์์ ์ฝ๋๋ ธ?
์ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๊ฑฐ๋ ๊ท์ฐฎ์์?ใ ใ ใ ใ ๋ณ์ ์๋ผใ ใ ๋ชจ๋ฅด๊ณ ๊ทธ๋ฅ ๋ง์จ๋ถ๋ฆฌ๋ค ๋ด๊ฐ ์คํ๊ฒํฐ์ฝ๋์๊ธฐ๋ ๊ณ์ํ๋๋ฐ
์ด๊ธฐ์ ๋๋นผ๊ณ ์๋ฌด๋ ์๋๋ผ๊ณ ์๊ฐ ์ํจ
๋ญ ๊ฐ๋ณ์ ๊ฐ์ ์๋ฆฌ์ผ ๋ฌ๊ธ์์ด?
์ ๋ฆฌํ์๋ฉด ๋๋ ํด๋์ค ์์ ์ ์ธํ๊ณ ์ธ๋ถ์์ ์ฌ์ฉํ๋ ํ์๊ฐ ์คํ๊ฒํฐ ์ฝ๋์ง๋ ์๋ผ๊ฐ ํ๋ ์ง์ด๋ผ๊ณ ํ๊ณ , ๊ฑฐ๊ธฐ์ ๋๋ฅผ ์ง์นญํ๋๋ฐ, ๊ฒฐ๋ก ์ ์ผ๋ก ๋๋ ๊ทธ๋ ๊ฒ ํ์ง ์์. ๊ฑ ๋๊ฐ ํ๋ฆผ
ํ.. ์ง์ง ์ดํด๋ ฅ ๋ณ์ ์๋ผ๋ผ ๊ทธ๋ฐ์ง ๊ฐ์ข๊ฐ์ ๊ถค๋ณ์ ํ๊ณ ์๋ค enum์ ํด๋์ค ๋ด๋ถ์ ์ ์ธํ๋ฉด ํด๋์ค๋ฅผ ๋ถ๋ฌ์์ ์จ์ผ์ง๋ผ๋ฉด์ ๋ "๊ท์ฐฎ์์" ์ธ๋ถ์์ ์ธ๊ฑฐ๋ฉด ๋ฌด์กฐ๊ฑด ๊ธ๋ก๋ฒ๋ก ์ ์ธํจ ๋ต์์ค์ด ๋ณ์ ๊ฐ๋ค๋๊น ๋ ๊ทธ๋ ๊ฒ ์์ ์ด๋ด ์๋ฆดํ๋ค
๋๊ฐ์์ธ์์ฃผ๋ฉด์๋ ๊น?
https://m.dcinside.com/board/game_dev/68867
https://m.dcinside.com/board/game_dev/76002
์ด๊ฒ ๋ ์์ค์ด์ผ ๋ณ์ ์๋ผ์ผ
ใด ์ ๊ฑฐ ์ฌ๋ฆฌ๊ณ ์๋ฌด๋ ๋ต ์ํด์ค์ ํผ์ ํด๊ฒฐํ๊ณ ์ง๊ธ์ ์ ๋ ๊ฒ ์์งฌ. ์ ์ด์ ์ ๋ฐ ์ง๋ฌธ์ ์ฌ๋ ธ๋ค๋ ๊ฒ ์์ฒด๊ฐ ์ ๊ฒ ์คํ๊ฒํฐ์ฝ๋๋๋ ์ต์ ํ ๋ฌด์ ์ฝ๋์ธ๊ฑธ ์๋๊น ์ฌ๋ฆฐ๊ฑฐ๊ณ .
๊ธ์ญ์ ๊บผ๋ด๊ธฐ ์ ์ ์ข ๋๊ฐ์คฌ์ผ๋ฉด ์ข๊ฒ ์ด
์ ์ฝํ ๋ ๋๋ ์์ ํ์ง๋๋ชปํจ
๋๊ฐ ์คํ์๋ชฝ๋ ์๋๊ณ ์ง๊ธ๋ ๋ณ์ ๊ฐ์ ๋๊ฐ๋ฆฌ์ธ๋ฐ 1๋ ๋ ์๋ ์ฌ์ด์ ๋ญ ์ผ๋ง๋ ๋ฐ์ ์ด ์์๊ฒ ๋ ๊ทธ๋ฌ๋๊น ์คํ๊ฒํฐ์ฝ๋๋ ์ง์ง
์ดํ ์ด๋...
ใ ใ ใ ใ ใ
enum์ ๊ทธ๋ฅ ์ ์๊ณ์ด ๋ณ์์ธ๋ฐ ์ฝ๋์์์ ์ด๋ฆ๋ง ๋ถ์ฌ๋์๊ฑฐ๋ผ๊ณ ์๊ฐํ์
enum ์์ ์๋...?
์ค์ ๋ก ๊น๋ณด๋ฉด enum์ ์ ์ด์ค ๋จ์ด๋ง๋ค ์ ์ ํ๋์ฉ ๋ถ์ด์๊ณ (C++๊ธฐ์ค ๊ธฐ๋ณธ๊ฐ์ 0๋ถํฐ ์์), ์์์ ์๋ฅผ ์ง์ ํด์ฃผ๋ ๊ฒ๋ ๊ฐ๋ฅํจ. short, 4๋นํธ int, 8๋นํธ int ์ด๋ฐ ์๋ฃํ์ค์ ์ด๋ค ์๋ฃํ์ ์ธ์ง๋ ์ง์ ํด์ค ์ ์๊ณ , ์ฌ์ง์ด๋ bitwise ์ฐ์ฐ๋ ๋จน์.
๋ ๋๊ฐ์ ์บ์คํ ์ผ๋ก ์ ์ํ ๋ณ์๋ก ๋ฐ๊ฟ์๋ ์์. (int -> enum, enum -> int)
ํด๋์ค ๋ด๋ถ์์๋ง ์ธ๊ฑฐ ๊ฐ์ผ๋ฉด ๋ด๋ถ์ ๋ฃ์ด์ ์ฐ๊ณ , ์ธ๋ถ์์๋ ์ธ๊ฑฐ ๊ฐ์ผ๋ฉด public์ ์ฐ๊ณ public์ธ๋ฐ ์ผ๋ถ์์๋ ๋ ๊ฐ๋ ค์ก์ผ๋ฉด ์ข๊ฒ ์ผ๋ฉด namespace๋ฅผ ์ฐ์ธ์ ๊ทผ๋ฐ ํํ๋ก์ ํธ๊ฐ ์์ฒญ ํฐ๊ฑฐ ์๋๋ฉด ๋ค์์คํ์ด์ค ์ฌ๋ฌ๊ฐ๋ก ์๋ผ์ ์ฐ๋ฉด ๋ถํธํ๊ธด ํจ