{"id":9382,"date":"2024-07-08T13:18:40","date_gmt":"2024-07-08T04:18:40","guid":{"rendered":"https:\/\/www.auctionpro.co.kr\/?p=9382"},"modified":"2024-08-01T09:23:29","modified_gmt":"2024-08-01T00:23:29","slug":"%ec%9d%98%ec%a1%b4%ec%84%b1-%ec%a3%bc%ec%9e%85dependency-injection-di","status":"publish","type":"post","link":"https:\/\/www.auctionpro.co.kr\/?p=9382","title":{"rendered":"\uc758\uc874\uc131 \uc8fc\uc785(Dependency Injection, DI)"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">\uc26c\uc6b4 \ub9d0\ub85c \ud45c\ud604\ud55c \uc758\uc874\uc131 \uc8fc\uc785<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\uc758\uc874\uc131 \uc8fc\uc785\uc774\ub780?<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>\uc758\uc874\uc131<\/strong>: \uc5b4\ub5a4 \ubb3c\uac74\uc774\ub098 \uc0ac\ub78c\uc774 \ub2e4\ub978 \uac83 \uc5c6\uc774 \ud63c\uc790\uc11c \uc77c\uc744 \ubabb \ud558\uace0, \ub2e4\ub978 \uac83\uc758 \ub3c4\uc6c0\uc774 \ud544\uc694\ud560 \ub54c, \uadf8 \ud544\uc694\ud55c \uac83\uc744 \uc758\uc874\uc131\uc774\ub77c\uace0 \ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>\uc8fc\uc785<\/strong>: \ud544\uc694\ud55c \uac83\uc744 \uc9c1\uc811 \ucc59\uae30\ub294 \ub300\uc2e0, \ub204\uad70\uac00\uac00 \ub300\uc2e0 \uac00\uc838\ub2e4\uc8fc\ub294 \uac83\uc744 \ub9d0\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\ube44\uc720\ub97c \ud1b5\ud574 \uc124\uba85<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\ucee4\ud53c \uba38\uc2e0 \ube44\uc720<\/h4>\n\n\n\n<figure class=\"wp-block-image size-medium\"><a href=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffee.webp\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffee-300x300.webp\" alt=\"\" class=\"wp-image-9464\" srcset=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffee-300x300.webp 300w, https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffee-150x150.webp 150w, https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffee-768x768.webp 768w, https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffee.webp 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\uc0c1\ud669 \uc124\uba85<\/strong>:\n<ul class=\"wp-block-list\">\n<li>\ub2f9\uc2e0\uc774 \ucee4\ud53c\ub97c \uc88b\uc544\ud558\ub294\ub370, \ucee4\ud53c\ub97c \ub9cc\ub4e4\uae30 \uc704\ud574 \ud56d\uc0c1 \ucee4\ud53c \uba38\uc2e0, \ucee4\ud53c \uc6d0\ub450, \ubb3c \ub4f1\uc744 \uc9c1\uc811 \uc900\ube44\ud55c\ub2e4\uace0 \uac00\uc815\ud574 \ubd05\uc2dc\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\uc9c1\uc811 \uc758\uc874\uc131 (\uc8fc\uc785 \uc5c6\uc774)<\/strong>:\n<ul class=\"wp-block-list\">\n<li>\ub9e4\ubc88 \ucee4\ud53c\ub97c \ub9cc\ub4e4 \ub54c\ub9c8\ub2e4 \ucee4\ud53c \uba38\uc2e0 \uc548\uc5d0 \uc9c1\uc811 \ucee4\ud53c \uc6d0\ub450\uc640 \ubb3c\uc744 \ub123\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ub9cc\uc57d \ucee4\ud53c \uba38\uc2e0\uc774 \uace0\uc7a5 \ub098\uba74, \ub2e4\ub978 \ucee4\ud53c \uba38\uc2e0\uc744 \uc0ac \uc640\uc11c \uc9c1\uc811 \ub2e4\uc2dc \uc138\ud305\ud574\uc57c \ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\uc758\uc874\uc131 \uc8fc\uc785<\/strong>:\n<ul class=\"wp-block-list\">\n<li>\uc774\uc81c\ub294 \ucee4\ud53c \uba38\uc2e0\uc774 \ucee4\ud53c \uc6d0\ub450\uc640 \ubb3c\uc744 \uc9c1\uc811 \uc900\ube44\ud558\ub294 \ub300\uc2e0, \ubc16\uc5d0\uc11c \ub204\uad70\uac00\uac00 \ud544\uc694\ud55c \ucee4\ud53c \uc6d0\ub450\uc640 \ubb3c\uc744 \uac00\uc838\ub2e4\uc90d\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ucee4\ud53c \uba38\uc2e0\uc740 \uac00\uc838\ub2e4\uc900 \uc6d0\ub450\uc640 \ubb3c\ub85c \ucee4\ud53c\ub97c \ub9cc\ub4e4\uae30\ub9cc \ud558\uba74 \ub429\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ub9cc\uc57d \ucee4\ud53c \uc6d0\ub450\uac00 \ubc14\ub00c\uc5b4\ub3c4 \ucee4\ud53c \uba38\uc2e0\uc744 \ubc14\uafc0 \ud544\uc694 \uc5c6\uc774 \uc0c8\ub85c\uc6b4 \uc6d0\ub450\ub9cc \uac00\uc838\uc624\uba74 \ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-medium\"><a href=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffeeDI.webp\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffeeDI-300x300.webp\" alt=\"\" class=\"wp-image-9467\" srcset=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffeeDI-300x300.webp 300w, https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffeeDI-150x150.webp 150w, https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffeeDI-768x768.webp 768w, https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffeeDI.webp 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\ucf54\ub4dc\ub85c \ud45c\ud604\ud55c \uc758\uc874\uc131 \uc8fc\uc785<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\uc758\uc874\uc131 \uc8fc\uc785 \uc804<\/h4>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:vim decode:true \">public class CoffeeMachine\n{\n    private CoffeeBeans beans;\n    private Water water;\n\n    public CoffeeMachine()\n    {\n        this.beans = new CoffeeBeans();\n        this.water = new Water();\n    }\n\n    public void MakeCoffee()\n    {\n        \/\/ \ucee4\ud53c \ub9cc\ub4dc\ub294 \ucf54\ub4dc\n    }\n}\n<\/pre><\/div>\n\n\n\n<p>\uc758\uc874\uc131 \uc8fc\uc785 \ud6c4<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:vim decode:true \">public interface ICoffeeBeans { }\npublic interface IWater { }\n\npublic class CoffeeMachine\n{\n    private ICoffeeBeans beans;\n    private IWater water;\n\n    \/\/ \uc0dd\uc131\uc790\ub97c \ud1b5\ud574 \ud544\uc694\ud55c \uac83\uc744 \ubc1b\uc74c\n    public CoffeeMachine(ICoffeeBeans beans, IWater water)\n    {\n        this.beans = beans;\n        this.water = water;\n    }\n\n    public void MakeCoffee()\n    {\n        \/\/ \ucee4\ud53c \ub9cc\ub4dc\ub294 \ucf54\ub4dc\n    }\n}\n<\/pre><\/div>\n\n\n\n<p>\uc758\uc874\uc131 \uc8fc\uc785 \uc124\uc815<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:vim decode:true \">public class Startup\n{\n    public void ConfigureServices(IServiceCollection services)\n    {\n        services.AddScoped&lt;ICoffeeBeans, CoffeeBeans&gt;();\n        services.AddScoped&lt;IWater, Water&gt;();\n        services.AddScoped&lt;CoffeeMachine&gt;();\n    }\n}\n<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\uc694\uc57d<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uc758\uc874\uc131 \uc8fc\uc785\uc774\ub780<\/strong> \ud544\uc694\ud55c \uac83\uc744 \uc9c1\uc811 \ucc59\uae30\uc9c0 \uc54a\uace0, \uc678\ubd80\uc5d0\uc11c \ub300\uc2e0 \uac00\uc838\ub2e4\uc8fc\ub294 \ubc29\uc2dd\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc774\ub97c \ud1b5\ud574 \ucf54\ub4dc\uc758 \uc720\uc5f0\uc131\uacfc \uc7ac\uc0ac\uc6a9\uc131\uc774 \ub192\uc544\uc9c0\uace0, \ud544\uc694\ud55c \uac83\uc774 \ubc14\ub00c\ub354\ub77c\ub3c4 \uc804\uccb4\ub97c \uace0\uce60 \ud544\uc694\uac00 \uc5c6\uac8c \ub429\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc27d\uac8c \ub9d0\ud574, \ucee4\ud53c \uba38\uc2e0\uc774 \ucee4\ud53c \uc6d0\ub450\uc640 \ubb3c\uc744 \uc2a4\uc2a4\ub85c \uc900\ube44\ud558\uc9c0 \uc54a\uace0, \uc678\ubd80\uc5d0\uc11c \uac00\uc838\ub2e4\uc8fc\ub294 \uac83\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<p>\uc774\ub807\uac8c \uc758\uc874\uc131 \uc8fc\uc785\uc744 \uc0ac\uc6a9\ud558\uba74, \uac1d\uccb4 \uac04\uc758 \uacb0\ud569\ub3c4\uac00 \ub0ae\uc544\uc9c0\uace0 \ud14c\uc2a4\ud2b8\ud558\uae30 \uc26c\uc6b4 \ucf54\ub4dc\uac00 \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc758\uc874\uc131 \uc8fc\uc785(Dependency Injection, DI)\uc740 \ucc98\uc74c\uc5d0\ub294 \ub2e4\uc18c \ubcf5\uc7a1\ud558\uac8c \ub290\uaef4\uc9c8 \uc218 \uc788\uc9c0\ub9cc, \uc2e4\uc81c\ub85c\ub294 \uc7a5\uc810\uc774 \ub9ce\uc544\uc11c \uc7a5\uae30\uc801\uc73c\ub85c \ubcfc \ub54c \ucf54\ub4dc\uc758 \uc720\uc9c0\ubcf4\uc218\uc131\uacfc \ud655\uc7a5\uc131\uc744 \ud06c\uac8c \ud5a5\uc0c1\uc2dc\ud0b5\ub2c8\ub2e4. \ub2e4\uc74c\uc740 \uc758\uc874\uc131 \uc8fc\uc785\uc758 \uc8fc\uc694 \uc7a5\uc810\uacfc \uc7a0\uc7ac\uc801\uc778 \ub2e8\uc810\uc744 \ud1b5\ud574 \uc774 \uc810\uc744 \uc124\uba85\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/image-4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"527\" src=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/image-4-1024x527.png\" alt=\"\" class=\"wp-image-9383\" srcset=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/image-4-1024x527.png 1024w, https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/image-4-300x154.png 300w, https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/image-4-768x395.png 768w, https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/image-4.png 1133w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\uc758\uc874\uc131 \uc8fc\uc785\uc758 \uc7a5\uc810<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\uc720\uc5f0\uc131 \uc99d\uac00<\/strong>:\n<ul class=\"wp-block-list\">\n<li>\ud074\ub798\uc2a4\uac00 \uc9c1\uc811\uc801\uc73c\ub85c \ub2e4\ub978 \ud074\ub798\uc2a4\uc5d0 \uc758\uc874\ud558\uc9c0 \uc54a\uc73c\ubbc0\ub85c, \uc27d\uac8c \ub2e4\ub978 \uad6c\ud604\uccb4\ub85c \uad50\uccb4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc608\ub97c \ub4e4\uc5b4, <code>IEngine<\/code> \uc778\ud130\ud398\uc774\uc2a4\uc758 \ub2e4\ub978 \uad6c\ud604\uccb4\ub97c \uc0ac\uc6a9\ud558\uace0 \uc2f6\ub2e4\uba74, \uae30\uc874 \ucf54\ub4dc\ub97c \uc218\uc815\ud560 \ud544\uc694 \uc5c6\uc774 DI \ucee8\ud14c\uc774\ub108 \uc124\uc815\ub9cc \ubcc0\uacbd\ud558\uba74 \ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ud14c\uc2a4\ud2b8 \uc6a9\uc774\uc131<\/strong>:\n<ul class=\"wp-block-list\">\n<li>\uc758\uc874\uc131\uc744 \uc8fc\uc785\ubc1b\uae30 \ub54c\ubb38\uc5d0, \uc2e4\uc81c \uad6c\ud604\uccb4 \ub300\uc2e0 \ubaa8\ud0b9(mocking)\uc744 \ud1b5\ud574 \ud14c\uc2a4\ud2b8\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc774\ub97c \ud1b5\ud574 \uc720\ub2db \ud14c\uc2a4\ud2b8\uac00 \uc6a9\uc774\ud574\uc9c0\uace0, \ud14c\uc2a4\ud2b8 \ucee4\ubc84\ub9ac\uc9c0\uac00 \uc99d\uac00\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\uc7ac\uc0ac\uc6a9\uc131 \uc99d\uac00<\/strong>:\n<ul class=\"wp-block-list\">\n<li>\ud074\ub798\uc2a4\uac00 \ub2e4\ub978 \ud074\ub798\uc2a4\uc5d0 \ub35c \uc758\uc874\ud558\ubbc0\ub85c, \ub354 \ub3c5\ub9bd\uc801\uc73c\ub85c \ub3d9\uc791\ud558\uba70, \ub2e4\uc591\ud55c \uc0c1\ud669\uc5d0\uc11c \uc7ac\uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ucf54\ub4dc \uc720\uc9c0\ubcf4\uc218\uc131 \ud5a5\uc0c1<\/strong>:\n<ul class=\"wp-block-list\">\n<li>\uc758\uc874\uc131\uc774 \uba85\ud655\ud558\uac8c \ub4dc\ub7ec\ub098\uae30 \ub54c\ubb38\uc5d0, \ucf54\ub4dc\uc758 \uc758\ub3c4\ub97c \ub354 \uc798 \uc774\ud574\ud560 \uc218 \uc788\uace0, \uc720\uc9c0\ubcf4\uc218\ud558\uae30\uac00 \ub354 \uc26c\uc6cc\uc9d1\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\uc758\uc874\uc131 \uc8fc\uc785\uc758 \ub2e8\uc810 \ubc0f \uadf9\ubcf5 \ubc29\ubc95<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\ucd08\uae30 \uc124\uc815\uc758 \ubcf5\uc7a1\uc131<\/strong>:\n<ul class=\"wp-block-list\">\n<li>\ucc98\uc74c DI\ub97c \uc124\uc815\ud560 \ub54c\ub294 \uc5b4\ub5a4 \uc11c\ube44\uc2a4\ub97c \uc5b4\ub5bb\uac8c \ub4f1\ub85d\ud560\uc9c0 \uacb0\uc815\ud574\uc57c \ud558\ubbc0\ub85c \ub2e4\uc18c \ubcf5\uc7a1\ud558\uac8c \ub290\uaef4\uc9c8 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uadf8\ub7ec\ub098 \ud55c \ubc88 \uc124\uc815\ud574 \ub450\uba74 \uc774\ud6c4\uc5d0 \ucd94\uac00\ub418\ub294 \uc758\uc874\uc131\uc740 \ub9e4\uc6b0 \uc27d\uac8c \uad00\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ud559\uc2b5 \uace1\uc120<\/strong>:\n<ul class=\"wp-block-list\">\n<li>DI \ud328\ud134\uc744 \ucc98\uc74c \uc811\ud558\ub294 \uac1c\ubc1c\uc790\uc5d0\uac8c\ub294 \uc774\ud574\ud558\ub294 \ub370 \uc2dc\uac04\uc774 \uac78\ub9b4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ud558\uc9c0\ub9cc, DI\ub294 \ub9ce\uc740 \ud604\ub300\uc801\uc778 \ud504\ub808\uc784\uc6cc\ud06c\uc5d0\uc11c \ud45c\uc900\uc801\uc73c\ub85c \uc0ac\uc6a9\ub418\ubbc0\ub85c, \uc775\ud600 \ub450\uba74 \ub2e4\ub978 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c\ub3c4 \uc720\uc6a9\ud558\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ucf54\ub4dc \uac04\uc811\uc131 \uc99d\uac00<\/strong>:\n<ul class=\"wp-block-list\">\n<li>\uc758\uc874\uc131\uc744 \uc8fc\uc785\ubc1b\ub294 \ubc29\uc2dd\uc73c\ub85c \uc778\ud574, \ucf54\ub4dc\uc758 \ud750\ub984\uc774 \uc9c1\uc811\uc801\uc774\uc9c0 \uc54a\uace0 \uac04\uc811\uc801\uc73c\ub85c \ubcf4\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uadf8\ub7ec\ub098 \uc774\ub294 \ucf54\ub4dc\uac00 \ub354 \ubaa8\ub4c8\ud654\ub418\uace0 \ubd84\ub9ac\ub41c\ub2e4\ub294 \uc758\ubbf8\ub85c, \ub354 \ud070 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uc720\uc9c0\ubcf4\uc218\uc640 \ud655\uc7a5\uc131 \uce21\uba74\uc5d0\uc11c \ud070 \uc7a5\uc810\uc774 \ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\uc608\uc2dc: \uc758\uc874\uc131 \uc8fc\uc785\uc758 \uc2e4\uc9c8\uc801\uc778 \ud65c\uc6a9<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\uae30\uc874 \ubc29\uc2dd (\uc9c1\uc811 \uc758\uc874\uc131)<\/h4>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:vim decode:true \">public class Car\n{\n    private Engine _engine;\n\n    public Car()\n    {\n        _engine = new Engine();\n    }\n\n    public void Start()\n    {\n        _engine.Start();\n    }\n}\n<\/pre><\/div>\n\n\n\n<p>\uc758\uc874\uc131 \uc8fc\uc785 \ubc29\uc2dd<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:vim decode:true \">public interface IEngine\n{\n    void Start();\n}\n\npublic class Engine : IEngine\n{\n    public void Start()\n    {\n        Console.WriteLine(\"Engine started.\");\n    }\n}\n\npublic class Car\n{\n    private readonly IEngine _engine;\n\n    public Car(IEngine engine)\n    {\n        _engine = engine;\n    }\n\n    public void Start()\n    {\n        _engine.Start();\n    }\n}\n<\/pre><\/div>\n\n\n\n<p>DI \uc124\uc815<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:vim decode:true \">public class Startup\n{\n    public void ConfigureServices(IServiceCollection services)\n    {\n        services.AddScoped&lt;IEngine, Engine&gt;(); \/\/ \ubaa8\ub4c8 \ubcc0\uacbd\uc2dc \uc774\ubd80\ubd84\ub9cc \ubcc0\uacbd \ud558\ub144 \ub429\ub2c8\ub2e4.\n        services.AddScoped&lt;Car&gt;();\n    }\n}\n<\/pre><\/div>\n\n\n\n<p>\uc694\uc57d<br>\uc758\uc874\uc131 \uc8fc\uc785\uc740 \ucd08\uae30 \uc124\uc815\uc774 \ub2e4\uc18c \ubcf5\uc7a1\ud560 \uc218 \uc788\uc9c0\ub9cc, \uc774\ud6c4\uc5d0\ub294 \ub9ce\uc740 \uc7a5\uc810\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<br>\ucf54\ub4dc\uc758 \uc720\uc5f0\uc131, \ud14c\uc2a4\ud2b8 \uc6a9\uc774\uc131, \uc7ac\uc0ac\uc6a9\uc131, \uc720\uc9c0\ubcf4\uc218\uc131\uc774 \ud06c\uac8c \ud5a5\uc0c1\ub429\ub2c8\ub2e4.<br>\uc7a5\uae30\uc801\uc73c\ub85c \ubcfc \ub54c, DI\ub294 \ub354 \ud070 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \ubcf5\uc7a1\uc131\uc744 \uc904\uc774\uace0 \ud6a8\uc728\uc801\uc73c\ub85c \uad00\ub9ac\ud560 \uc218 \uc788\ub3c4\ub85d \ub3c4\uc640\uc90d\ub2c8\ub2e4.<br>\ucc98\uc74c\uc5d0\ub294 \uc57d\uac04\uc758 \ud559\uc2b5 \uace1\uc120\uc774 \uc788\uc744 \uc218 \uc788\uc9c0\ub9cc, DI \ud328\ud134\uc744 \uc775\ud788\uba74 \ub354 \uacac\uace0\ud558\uace0 \uc720\uc9c0\ubcf4\uc218\ud558\uae30 \uc26c\uc6b4 \ucf54\ub4dc\ub97c \uc791\uc131\ud560 \uc218 \uc788\uac8c \ub429\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>\uc26c\uc6b4 \ub9d0\ub85c \ud45c\ud604\ud55c \uc758\uc874\uc131 \uc8fc\uc785 \ube44\uc720\ub97c \ud1b5\ud574 \uc124\uba85 \ucee4\ud53c \uba38\uc2e0 \ube44\uc720 \ucf54\ub4dc\ub85c \ud45c\ud604\ud55c \uc758\uc874\uc131 \uc8fc\uc785 \uc758\uc874\uc131 \uc8fc\uc785 \uc804 \uc758\uc874\uc131 \uc8fc\uc785 \ud6c4 \uc758\uc874\uc131 \uc8fc\uc785 \uc124\uc815 \uc694\uc57d <a class=\"mh-excerpt-more\" href=\"https:\/\/www.auctionpro.co.kr\/?p=9382\" title=\"\uc758\uc874\uc131 \uc8fc\uc785(Dependency Injection, DI)\">[&#8230;]<\/a><\/p>\n<\/div>","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[252],"tags":[],"class_list":["post-9382","post","type-post","status-publish","format-standard","hentry","category-dev-uml"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\uc758\uc874\uc131 \uc8fc\uc785(Dependency Injection, DI) - AuctionPro<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.auctionpro.co.kr\/?p=9382\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\uc758\uc874\uc131 \uc8fc\uc785(Dependency Injection, DI) - AuctionPro\" \/>\n<meta property=\"og:description\" content=\"\uc26c\uc6b4 \ub9d0\ub85c \ud45c\ud604\ud55c \uc758\uc874\uc131 \uc8fc\uc785 \ube44\uc720\ub97c \ud1b5\ud574 \uc124\uba85 \ucee4\ud53c \uba38\uc2e0 \ube44\uc720 \ucf54\ub4dc\ub85c \ud45c\ud604\ud55c \uc758\uc874\uc131 \uc8fc\uc785 \uc758\uc874\uc131 \uc8fc\uc785 \uc804 \uc758\uc874\uc131 \uc8fc\uc785 \ud6c4 \uc758\uc874\uc131 \uc8fc\uc785 \uc124\uc815 \uc694\uc57d [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.auctionpro.co.kr\/?p=9382\" \/>\n<meta property=\"og:site_name\" content=\"AuctionPro\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-08T04:18:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-01T00:23:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffee.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"golgol\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"golgol\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"1\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9382#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9382\"},\"author\":{\"name\":\"golgol\",\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/#\\\/schema\\\/person\\\/d3dbae599b06cd55f5b14a3e2116f7a2\"},\"headline\":\"\uc758\uc874\uc131 \uc8fc\uc785(Dependency Injection, DI)\",\"datePublished\":\"2024-07-08T04:18:40+00:00\",\"dateModified\":\"2024-08-01T00:23:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9382\"},\"wordCount\":14,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9382#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/caffee-300x300.webp\",\"articleSection\":[\"[Dev] UML\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9382#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9382\",\"url\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9382\",\"name\":\"\uc758\uc874\uc131 \uc8fc\uc785(Dependency Injection, DI) - AuctionPro\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9382#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9382#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/caffee-300x300.webp\",\"datePublished\":\"2024-07-08T04:18:40+00:00\",\"dateModified\":\"2024-08-01T00:23:29+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/#\\\/schema\\\/person\\\/d3dbae599b06cd55f5b14a3e2116f7a2\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9382#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9382\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9382#primaryimage\",\"url\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/caffee.webp\",\"contentUrl\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/caffee.webp\",\"width\":1024,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9382#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\uc758\uc874\uc131 \uc8fc\uc785(Dependency Injection, DI)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/#website\",\"url\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/\",\"name\":\"AuctionPro\",\"description\":\"\uc625\uc158\ud504\ub85c\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/#\\\/schema\\\/person\\\/d3dbae599b06cd55f5b14a3e2116f7a2\",\"name\":\"golgol\",\"url\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?author=6\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\uc758\uc874\uc131 \uc8fc\uc785(Dependency Injection, DI) - AuctionPro","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.auctionpro.co.kr\/?p=9382","og_locale":"ko_KR","og_type":"article","og_title":"\uc758\uc874\uc131 \uc8fc\uc785(Dependency Injection, DI) - AuctionPro","og_description":"\uc26c\uc6b4 \ub9d0\ub85c \ud45c\ud604\ud55c \uc758\uc874\uc131 \uc8fc\uc785 \ube44\uc720\ub97c \ud1b5\ud574 \uc124\uba85 \ucee4\ud53c \uba38\uc2e0 \ube44\uc720 \ucf54\ub4dc\ub85c \ud45c\ud604\ud55c \uc758\uc874\uc131 \uc8fc\uc785 \uc758\uc874\uc131 \uc8fc\uc785 \uc804 \uc758\uc874\uc131 \uc8fc\uc785 \ud6c4 \uc758\uc874\uc131 \uc8fc\uc785 \uc124\uc815 \uc694\uc57d [...]","og_url":"https:\/\/www.auctionpro.co.kr\/?p=9382","og_site_name":"AuctionPro","article_published_time":"2024-07-08T04:18:40+00:00","article_modified_time":"2024-08-01T00:23:29+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffee.webp","type":"image\/webp"}],"author":"golgol","twitter_card":"summary_large_image","twitter_misc":{"\uae00\uc4f4\uc774":"golgol","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"1\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.auctionpro.co.kr\/?p=9382#article","isPartOf":{"@id":"https:\/\/www.auctionpro.co.kr\/?p=9382"},"author":{"name":"golgol","@id":"https:\/\/www.auctionpro.co.kr\/#\/schema\/person\/d3dbae599b06cd55f5b14a3e2116f7a2"},"headline":"\uc758\uc874\uc131 \uc8fc\uc785(Dependency Injection, DI)","datePublished":"2024-07-08T04:18:40+00:00","dateModified":"2024-08-01T00:23:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.auctionpro.co.kr\/?p=9382"},"wordCount":14,"commentCount":0,"image":{"@id":"https:\/\/www.auctionpro.co.kr\/?p=9382#primaryimage"},"thumbnailUrl":"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffee-300x300.webp","articleSection":["[Dev] UML"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.auctionpro.co.kr\/?p=9382#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.auctionpro.co.kr\/?p=9382","url":"https:\/\/www.auctionpro.co.kr\/?p=9382","name":"\uc758\uc874\uc131 \uc8fc\uc785(Dependency Injection, DI) - AuctionPro","isPartOf":{"@id":"https:\/\/www.auctionpro.co.kr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.auctionpro.co.kr\/?p=9382#primaryimage"},"image":{"@id":"https:\/\/www.auctionpro.co.kr\/?p=9382#primaryimage"},"thumbnailUrl":"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffee-300x300.webp","datePublished":"2024-07-08T04:18:40+00:00","dateModified":"2024-08-01T00:23:29+00:00","author":{"@id":"https:\/\/www.auctionpro.co.kr\/#\/schema\/person\/d3dbae599b06cd55f5b14a3e2116f7a2"},"breadcrumb":{"@id":"https:\/\/www.auctionpro.co.kr\/?p=9382#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.auctionpro.co.kr\/?p=9382"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.auctionpro.co.kr\/?p=9382#primaryimage","url":"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffee.webp","contentUrl":"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2024\/07\/caffee.webp","width":1024,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/www.auctionpro.co.kr\/?p=9382#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/www.auctionpro.co.kr\/"},{"@type":"ListItem","position":2,"name":"\uc758\uc874\uc131 \uc8fc\uc785(Dependency Injection, DI)"}]},{"@type":"WebSite","@id":"https:\/\/www.auctionpro.co.kr\/#website","url":"https:\/\/www.auctionpro.co.kr\/","name":"AuctionPro","description":"\uc625\uc158\ud504\ub85c","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.auctionpro.co.kr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Person","@id":"https:\/\/www.auctionpro.co.kr\/#\/schema\/person\/d3dbae599b06cd55f5b14a3e2116f7a2","name":"golgol","url":"https:\/\/www.auctionpro.co.kr\/?author=6"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/9382","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9382"}],"version-history":[{"count":0,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/9382\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9382"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9382"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9382"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}