{"id":13541,"date":"2023-04-21T07:42:10","date_gmt":"2023-04-20T22:42:10","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=13541"},"modified":"2023-04-21T07:50:15","modified_gmt":"2023-04-20T22:50:15","slug":"typescript%ec%97%90%ec%84%9c-%ec%9d%b8%ed%84%b0%ed%8e%98%ec%9d%b4%ec%8a%a4%ec%9d%98-%ea%b5%ac%ed%98%84%ea%b3%bc-%ea%b0%9d%ec%b2%b4-%eb%a6%ac%ed%84%b0%eb%9f%b4object-literal-%ed%95%a0%eb%8b%b9","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=13541","title":{"rendered":"Typescript\uc5d0\uc11c \uc778\ud130\ud398\uc774\uc2a4\uc758 \uad6c\ud604\uacfc \uac1d\uccb4 \ub9ac\ud130\ub7f4(Object Literal) \ud560\ub2f9"},"content":{"rendered":"<p>\ud0c0\uc785\uc2a4\ud06c\ub9bd\ud2b8\uc5d0\uc11c \uc778\ud130\ud398\uc774\uc2a4\uc5d0\ub294 \ubbf8\ubb18\ud55c \uc810\uc774 \uc874\uc7ac\ud569\ub2c8\ub2e4. \uba3c\uc800 \ub2e4\uc74c\uacfc \uac19\uc740 \uc778\ud130\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud569\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"typescript\">\r\ninterface Dip2K {\r\n    action(): void\r\n}\r\n<\/pre>\n<p>\ud074\ub798\uc2a4\ub85c \uad6c\ud604\ud574 \ubcf4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"typescript\">\r\nclass Dip2KImpl implements Dip2K {\r\n    alias: string = 'GISDEVELOPER'\r\n    action() { console.log('\uc778\uac04\uc740 \ud589\uc704\ub85c \uc815\uc758\ub41c\ub2e4.') }\r\n}\r\n<\/pre>\n<p>\uc0c8\ub85c\uc6b4 \uad6c\uc131\uc694\uc18c\ub85c\uc368 alias\uac00 \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ub124, \ucda9\ubd84\ud788 \uc774\ud574\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc774\uc81c \uac1d\uccb4 \ub9ac\ud130\ub7f4\ub85c \ud560\ub2f9\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uba3c\uc800 \uc5ec\uae30\uc11c \ud0c0\uc785\uc2a4\ud06c\ub9bd\ud2b8\uc758 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \ub300\ud55c \uac00\uc7a5 \ud575\uc2ec\uc801\uc778 \ubaa9\ud45c\ub294 &#8216;\ud0c0\uc785\uac80\uc0ac&#8217;\ub77c\ub294 \uc810\uc744 \ub5a0\uc62c\ub9ac\uc154\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"typescript\">\r\nconst Dip2KObj: Dip2K = {\r\n    alias: 'GISDEVELOPER',\r\n    action() { console.log('\uc778\uac04\uc740 \ud589\uc704\ub85c \uc815\uc758\ub41c\ub2e4.') }\r\n}\r\n<\/pre>\n<p>\uc5d0\ub7ec\uac00 \ub0a9\ub2c8\ub2e4. \uc5d0\ub7ec \ub0b4\uc6a9\uc740 Object literal may only specify known properties, and &#8216;alias&#8217; does not exist in type &#8216;Dip2K&#8217; \uc785\ub2c8\ub2e4. \uc989 \uc778\ud130\ud398\uc774\uc2a4\uc5d0\ub294 \uc5c6\ub294 alias\ub77c\ub294 \uc18d\uc131\uc740 \uc9c0\uc815\ud560 \uc218 \uc5c6\uc74c\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4. \ud0c0\uc785\uc2a4\ud06c\ub9bd\ud2b8\uc758 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \ub300\ud55c \uac00\uc7a5 \ud575\uc2ec\uc801\uc778 \ubaa9\ud45c\ub294 &#8216;\ud0c0\uc785\uac80\uc0ac&#8217;\ub97c \ud1b5\uacfc\ud558\uc9c0 \ubabb\ud588\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4.<\/p>\n<p>\ub2e4\uc74c\uc740 \uc5b4\ub5a8\uae4c\uc694?<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"typescript\">\r\nclass Dip2KDuck {\r\n    alias: string = 'GISDEVELOPER'\r\n    action() { console.log('\uc778\uac04\uc740 \ud589\uc704\ub85c \uc815\uc758\ub41c\ub2e4.') }    \r\n}\r\n\r\nconst Dip2KObj2: Dip2K = new Dip2KDuck()\r\n<\/pre>\n<p>\uac00\ub2a5\ud560\uae4c\uc694?<\/p>\n<p>\ubb38\uc81c\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \ubd84\uba85 \uc11c\ub85c \ud0c0\uc785 \uc774\ub984\uc774 \ub2e4\ub974\ubbc0\ub85c &#8216;\ud0c0\uc785\uac80\uc0ac&#8217;\ub97c \ud1b5\uacfc\ud558\uc9c0 \ubabb\ud55c \uac83\uc73c\ub85c \ubcf4\uc774\uc9c0\ub9cc &#8216;\ud0c0\uc785\uac80\uc0ac&#8217;\ub97c \ud1b5\uacfc\ud569\ub2c8\ub2e4. \uc774\uc720\ub294 \ud0c0\uc785\uc2a4\ud06c\ub9bd\ud2b8\uc758 \ud0c0\uc785\uac80\uc0ac\ub294 \ub355\ud0c0\uc774\ud551(Duck Typing) \ubc29\uc2dd\uc774\ub77c\ub294\ub370 \uc788\uc2b5\ub2c8\ub2e4. \uc989, \ud0c0\uc785\uc758 \uc774\ub984\uc774 \ub2ec\ub77c\ub3c4 \uadf8 \uad6c\uc131(\ud544\ub4dc, \ub9e4\uc11c\ub4dc)\uac00 \uac19\ub2e4\uba74 \ub3d9\uc77c \ud0c0\uc785\uc73c\ub85c \ubcf8\ub2e4\ub294\ub370 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7fc \uc55e\uc11c \ubd24\ub358 \uac1d\uccb4 \ub9ac\ud130\ub7f4\uc740\uc694? \uac1d\uccb4 \ub9ac\ud130\ub7f4\uc740 \ud0c0\uc785\uc774 \uc544\ub2cc \uac1d\uccb4\uc785\ub2c8\ub2e4. \uadf8\ub798\uc11c &#8216;\ud0c0\uc785\uac80\uc0ac&#8217;\ub97c \ud1b5\uacfc\ud558\uc9c0 \ubabb\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uc560\ub9e4\ud558\uc8e0? \uc0ac\uc2e4 \ud0c0\uc785\uc2a4\ud06c\ub9bd\ud2b8\ub294 \uc774\ud574\ud558\uae30 \ub9e4\uc6b0 \uc5b4\ub824\uc6b4 \uc5b8\uc5b4 \uc911\uc5d0 \ud558\ub098 \uc785\ub2c8\ub2e4.<\/p>\n<p>\uadf8\ub7fc \uac1d\uccb4 \ub9ac\ud130\ub7f4\uc5d0 \ub300\ud55c \ud560\ub2f9\uae4c\uc9c0\ub3c4 \uc5d0\ub7ec\uc5c6\uc774 \ucc98\ub9ac\ud558\uae30 \uc704\ud574\uc11c\ub294 \uc5b4\ub5bb\uac8c \ud574\uc57c\ud560\uae4c\uc694? \ub2e4\uc74c\ucc98\ub7fc \uc778\ub371\uc2a4 \uc2dc\uadf8\ub2c8\uccd0\ub97c \uc778\ud130\ud398\uc774\uc2a4\uc758 \uc120\uc5b8\uc5d0 \ucd94\uac00\ud558\uba74 \ub429\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"typescript\">\r\ninterface Dip2K {\r\n    action(): void\r\n    [prop:string]: any \/\/ \uc778\ub371\uc2a4 \uc2dc\uadf8\ub2c8\uccd0\r\n}\r\n<\/pre>\n<p>\uc329\ub6b1 \ub9de\uc740 \uc778\ub371\uc2a4 \uc2dc\uadf8\ub2c8\uccd0\ub97c \ucd94\uac00\ud558\ub294 \uac83\uc5d0 \ub300\ud574 \ubd88\ud3b8\ud568\uc744 \ub290\ub084 \uc218 \ubc16\uc5d0 \uc5c6\ub294\ub370\uc694. \uc6d0\ub798\uc758 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \uc778\ub371\uc2a4 \uc2dc\uadf8\ub2c8\uccd0\ub97c \ucd94\uac00\ud558\uc9c0 \uc54a\uace0\ub3c4 \uc880\ub354 \ub098\uc740 \ubc29\uc2dd\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"typescript\">\r\nconst Dip2KObj: Dip2K = &lt;Dip2K>{\r\n    alias: 'GISDEVELOPER',\r\n    action() { console.log('\uc778\uac04\uc740 \ud589\uc704\ub85c \uc815\uc758\ub41c\ub2e4.') }\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\ud0c0\uc785\uc2a4\ud06c\ub9bd\ud2b8\uc5d0\uc11c \uc778\ud130\ud398\uc774\uc2a4\uc5d0\ub294 \ubbf8\ubb18\ud55c \uc810\uc774 \uc874\uc7ac\ud569\ub2c8\ub2e4. \uba3c\uc800 \ub2e4\uc74c\uacfc \uac19\uc740 \uc778\ud130\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud569\ub2c8\ub2e4. interface Dip2K { action(): void } \ud074\ub798\uc2a4\ub85c \uad6c\ud604\ud574 \ubcf4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. class Dip2KImpl implements Dip2K { alias: string = &#8216;GISDEVELOPER&#8217; action() { console.log(&#8216;\uc778\uac04\uc740 \ud589\uc704\ub85c \uc815\uc758\ub41c\ub2e4.&#8217;) } } \uc0c8\ub85c\uc6b4 \uad6c\uc131\uc694\uc18c\ub85c\uc368 alias\uac00 \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ub124, \ucda9\ubd84\ud788 \uc774\ud574\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uc81c \uac1d\uccb4 \ub9ac\ud130\ub7f4\ub85c \ud560\ub2f9\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uba3c\uc800 \uc5ec\uae30\uc11c \ud0c0\uc785\uc2a4\ud06c\ub9bd\ud2b8\uc758 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=13541\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Typescript\uc5d0\uc11c \uc778\ud130\ud398\uc774\uc2a4\uc758 \uad6c\ud604\uacfc \uac1d\uccb4 \ub9ac\ud130\ub7f4(Object Literal) \ud560\ub2f9&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[88],"tags":[],"class_list":["post-13541","post","type-post","status-publish","format-standard","hentry","category-javascript"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/13541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13541"}],"version-history":[{"count":5,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/13541\/revisions"}],"predecessor-version":[{"id":13546,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/13541\/revisions\/13546"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13541"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13541"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}