๋กœ์ผ“๐Ÿพ
article thumbnail
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ Reflection ์‚ฌ์šฉํ•˜๊ธฐ
... 2021. 9. 13. 15:06

์ž๋ฐ”์—์„œ ๋ณ€์ˆ˜๋ช…์œผ๋กœ ํด๋ž˜์Šค๋ฅผ ์ธ์Šคํ„ด์Šคํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ• 1-์ธ์ˆ˜๋Š” ์—†๊ณ  ์ƒ์„ฑ์ž๋งŒ ์žˆ๋Š” ํด๋ž˜์Šค์—๋งŒ ํ•ด๋‹น ํด๋ž˜์Šค์— ์ธ์ˆ˜๊ฐ€์—†๋Š” ์ƒ์„ฑ์ž๊ฐ€์žˆ๋Š” ๊ฒฝ์šฐ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Class๊ฐ์ฒด๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ ์ด ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Class domainClass = Class.forName("com.femarket.domain." + domainName); Object domain = domainClass.newInstance(); ๋ฐฉ๋ฒ• 2 ํด๋ž˜์Šค์— ์ธ์ˆ˜๊ฐ€์—†๋Š” ์ƒ์„ฑ์ž๊ฐ€์—†๋Š” ๊ฒฝ์šฐ์—๋„ ์ž‘๋™ํ•˜๋Š” ๋” ์•ˆ์ „ํ•œ ๋ฐฉ๋ฒ•์€ ํด๋ž˜์Šค ๊ฐœ์ฒด๋ฅผ ์ฟผ๋ฆฌํ•˜์—ฌ ํ•ด๋‹น Constructor๊ฐœ์ฒด ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ ์ด ๊ฐœ์ฒด์— ๋Œ€ํ•œ newInstance()๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Class clazz = Class.forName("..

article thumbnail
๋ˆ„๊ฐ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํŒŒ๊ดดํ•  ์ˆ˜ ์žˆ์„๊นŒ?
... 2021. 8. 11. 11:41

์ด ๊ธ€์€ Song Seunggeun ๋‹˜์˜ ๊ธ€์„ ๋ณด๊ณ  ์ž‘์„ฑํ•œ ๊ธ€์ด๋ฉฐ, ํ—ˆ๋ฝ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๋…ผ๋ž€์˜ ์—ฌ์ง€๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” 2021๋…„ ํ˜„์žฌ ์†Œํ”„ํŠธ์›จ์–ด ์—…๊ณ„์—์„œ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ์–ธ์–ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2020๋…„ Github์˜ ๋ถ„์„์— ๋”ฐ๋ฅด๋ฉด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” 2014๋…„ ์ด๋ž˜๋กœ ํ•ญ์ƒ ์˜ํ–ฅ๋ ฅ ์žˆ๋Š” ์–ธ์–ด์˜€๊ณ , ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์นœ์ฒ™์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ๋˜ํ•œ ๊ทธ ์ˆœ์œ„๊ฐ€ 4์œ„์— ๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์–ด๋–ป๊ฒŒ ์ด๋ ‡๊ฒŒ ์œ ๋ช…ํ•ด์งˆ ์ˆ˜ ์žˆ์—ˆ์„๊นŒ์š”? ํŒŒ์ด์ฌ, ์ž๋ฐ”, C ๋“ฑ์˜ ์ „ํ†ต์˜ ๊ฐ•์ž๋“ค, ๊ทธ๋ฆฌ๊ณ  Golang, Rust, Swift, Dart ๋“ฑ์˜ ์‹ ํฅ ๊ฐ•์ž๋“ค๊ณผ์˜ ๊ฒฝ์Ÿ์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์–ด๋–ป๊ฒŒ ์šฐ์œ„๋ฅผ ์ ํ•  ์ˆ˜ ์žˆ์—ˆ์„๊นŒ์š”? ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ํด๋ ˆ์ดํŠผ ํฌ๋ฆฌ์Šคํ…์Šจ ๊ต์ˆ˜์˜ ํŒŒ๊ดด์  ํ˜์‹  ์ด๋ก ์„ ์ด์šฉํ•ด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์„ฑ์žฅํ• ..

profile on loading

Loading...