์๋ฐ์์ ๋ณ์๋ช ์ผ๋ก ํด๋์ค๋ฅผ ์ธ์คํด์คํ ํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๋ฐฉ๋ฒ 1-์ธ์๋ ์๊ณ ์์ฑ์๋ง ์๋ ํด๋์ค์๋ง ํด๋น ํด๋์ค์ ์ธ์๊ฐ์๋ ์์ฑ์๊ฐ์๋ ๊ฒฝ์ฐ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ Class๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์ค๊ณ ์ด ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์คํด์ค๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. Class domainClass = Class.forName("com.femarket.domain." + domainName); Object domain = domainClass.newInstance(); ๋ฐฉ๋ฒ 2 ํด๋์ค์ ์ธ์๊ฐ์๋ ์์ฑ์๊ฐ์๋ ๊ฒฝ์ฐ์๋ ์๋ํ๋ ๋ ์์ ํ ๋ฐฉ๋ฒ์ ํด๋์ค ๊ฐ์ฒด๋ฅผ ์ฟผ๋ฆฌํ์ฌ ํด๋น Constructor๊ฐ์ฒด ๋ฅผ ๊ฐ์ ธ์ค๊ณ ์ด ๊ฐ์ฒด์ ๋ํ newInstance()๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๊ฒ์ ๋๋ค. Class clazz = Class.forName("..
์ด ๊ธ์ Song Seunggeun ๋์ ๊ธ์ ๋ณด๊ณ ์์ฑํ ๊ธ์ด๋ฉฐ, ํ๋ฝ์ ๋ฐ์์ต๋๋ค. ๋ ผ๋์ ์ฌ์ง๊ฐ ์์ ์ ์์ง๋ง, ์๋ฐ์คํฌ๋ฆฝํธ๋ 2021๋ ํ์ฌ ์ํํธ์จ์ด ์ ๊ณ์์ ๊ฐ์ฅ ์ ๋ช ํ ์ธ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค. 2020๋ Github์ ๋ถ์์ ๋ฐ๋ฅด๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ๋ 2014๋ ์ด๋๋ก ํญ์ ์ํฅ๋ ฅ ์๋ ์ธ์ด์๊ณ , ์๋ฐ์คํฌ๋ฆฝํธ์ ์น์ฒ์ด๋ผ๊ณ ํ ์ ์๋ ํ์ ์คํฌ๋ฆฝํธ ๋ํ ๊ทธ ์์๊ฐ 4์์ ๋ฌํฉ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ด๋ป๊ฒ ์ด๋ ๊ฒ ์ ๋ช ํด์ง ์ ์์์๊น์? ํ์ด์ฌ, ์๋ฐ, C ๋ฑ์ ์ ํต์ ๊ฐ์๋ค, ๊ทธ๋ฆฌ๊ณ Golang, Rust, Swift, Dart ๋ฑ์ ์ ํฅ ๊ฐ์๋ค๊ณผ์ ๊ฒฝ์์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ด๋ป๊ฒ ์ฐ์๋ฅผ ์ ํ ์ ์์์๊น์? ์ด๋ฒ ๊ธ์์๋ ํด๋ ์ดํผ ํฌ๋ฆฌ์คํ ์จ ๊ต์์ ํ๊ดด์ ํ์ ์ด๋ก ์ ์ด์ฉํด์ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ฑ์ฅํ ..