{"id":1834,"date":"2013-05-18T10:32:32","date_gmt":"2013-05-18T10:32:32","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=1834"},"modified":"2017-01-27T14:35:12","modified_gmt":"2017-01-27T05:35:12","slug":"javascript-%ed%81%b4%eb%9e%98%ec%8a%a4-%ec%a0%95%ec%9d%98-api-%e3%85%a1-13","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=1834","title":{"rendered":"[JavaScript] \ud074\ub798\uc2a4 \uc815\uc758 API \u3161 1\/3"},"content":{"rendered":"<p><P>\uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\ub294 C++\uc774\ub098 C#\/Java \ub4f1\uc5d0\uc11c\uc640 \uac19\uc774 \ud074\ub798\uc2a4(Class)\ub97c \uc9c1\uc811\uc801\uc73c\ub85c \uc815\uc758\ud560 \uc218 \uc788\ub294 API\ub97c \uc81c\uacf5\ud574 \uc8fc\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\uc5d0\uc11c\ub294 \ud504\ub85c\ud1a0\ud0c0\uc785(Prototype)\uc744 \uc774\uc6a9\ud558\uc5ec \ud074\ub798\uc2a4\uc758 \ud2b9\uc131\uc744 \uc81c\uacf5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc774\ub7ec\ud55c \ud504\ub85c\ud1a0\ud0c0\uc785 \uae30\ubc18\uc758 \ud074\ub798\uc2a4 \uc815\uc758\uc5d0 \ub300\ud55c API\ub294 \uac1c\ubc1c\uc790\uac00 \uc9c1\uc811 \ub9cc\ub4e4\uc5b4 \uc0ac\uc6a9\ud574\uc57c \ud569\ub2c8\ub2e4. \uac8c\ub2e4\uac00 \ube44\ub85d \ud504\ub85c\ud1a0\ud0c0\uc785\uc744 \uc774\uc6a9\ud574 \ud074\ub798\uc2a4 \uac1c\ub150\uc744 \uc790\ubc14\uc2a4\ud06c\ub9bd\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4\uace0\ub294 \ud558\uc5ec\ub3c4 C++\uc774\ub098 C#\/Java\uc640 \uac19\uc740 \uc644\uc804\ud55c \ud074\ub798\uc2a4\ub97c \uc815\uc758\ud558\uc9c0\ub294 \ubabb\ud569\ub2c8\ub2e4. \ub300\uc2e0 \uac1c\ubc1c\uc790\ub294 \uc2a4\uc2a4\ub85c \uc5c4\uaca9\ud55c \uc57d\uc18d\uc744 \ud1b5\ud574 \uc774\ub7ec\ud55c \ubd80\uc871\ud568\uc73c\ub85c \ub9e4\uafd4\uc57c\ub9cc \ud569\ub2c8\ub2e4.<BR>\uc544\ub798\uc758 \ucf54\ub4dc\ub294 \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\uc5d0\uc11c \ud074\ub798\uc2a4\ub97c \uc815\uc758\ud558\uae30 \uc704\ud55c API\uc758 \ud55c\uac00\uc9c0 \uc608\uc785\ub2c8\ub2e4. \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc774\uc6a9\ud574 \ud074\ub798\uc2a4\ub97c \uc815\uc758\ud558\ub294 API\ub294 \ub9e4\uc6b0 \ub2e4\uc591\ud558\uace0 \ub9ce\uc2b5\ub2c8\ub2e4. \uadf8\uc911 \uc81c\uac00 \ud544\uc694\uc5d0 \uc758\ud574 \uc544\ub798\uc758 \uc81c\uc2dc\ud55c \ud074\ub798\uc2a4 \uc815\uc758 API\ub294 \ub370\uc774\ube44\ub4dc \ud50c\ub798\ub108\uac74\uc758 \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 \uc644\ubcbd\uac00\uc774\ub4dc\ub77c\ub294 \ucc45\uc744 \ub9ce\uc740 \ubd80\ubd84 \ucc38\uace0\ud588\uc73c\uba70 \ubd88\ud544\uc694\ud55c \ubd80\ubd84\uc744 \uc81c\uac70\ud55c \uc608\uc785\ub2c8\ub2e4.<\/p>\n<pre>function Class(x) {\r\n    var classname = x.name;\r\n    var superclass = x.extend || Object;\r\n    var constructor = x.construct || function() {};\r\n    var methods = x.methods || {};\r\n    var statics = x.statics || {};\r\n    var requires = x.requires || [];\r\n    var proto = new superclass();\r\n\r\n    for(var p in proto) if(proto.hasOwnProperty(p)) delete proto[p];\r\n \r\n    proto.constructor = constructor;\r\n    proto.superclass = superclass;\r\n    proto.classname = classname; \r\n    constructor.prototype = proto;\r\n \r\n    for(var p in methods) proto[p] = methods[p];\r\n    for(var p in statics) constructor[p] = statics[p];\r\n\r\n    for(var i=0; i        var c = requires[i];\r\n        for(var p in c.prototype) {\r\n            if(typeof c.prototype[p] != \"function\" || \r\n                p == \"constructor\" || p == \"superclass\") continue;\r\n   \r\n            if(p in proto && typeof proto[p] == \"function\" && \r\n                proto[p].length == c.prototype[p].length) continue;\r\n    \r\n            throw new Error(classname + \" class requires \" + p + \" method.\");\r\n        }\r\n    } \r\n\r\n    return constructor;\r\n}<\/pre>\n<p>\uc704\uc758 \ud074\ub798\uc2a4 \uc815\uc758 API\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ud074\ub798\uc2a4\uc758 4\uac00\uc9c0 \ubcf8\uc5f0\uc758 \uae30\ub2a5\uc5d0 \ucda9\uc2e4\ud560 \uac83\uc744 \uc804\uc81c\ub85c \ud558\uc600\uc2b5\ub2c8\ub2e4.<\/P><UL><LI>\ud074\ub798\uc2a4\ub97c \uc815\uc758\ud558\ub294 \ubc29\ubc95 \uc81c\uacf5\ud560 \uac83 <LI>\ud074\ub798\uc2a4 \uc0c1\uc18d\uc744 \uc9c0\uc6d0\ud560 \uac83 <LI>\ucd94\uc0c1 \ud074\ub798\uc2a4\uc744 \uad6c\ud604\ud560\ub54c \ud574\ub2f9 \ucd94\uc0c1 \ud074\ub798\uc2a4\uc758 \ubaa8\ub4e0 \ub9e4\uc11c\ub4dc\ub97c \uad6c\ud604\ud558\uace0 \uc788\ub294\uc9c0 \uac80\uc0ac\ud560 \uac83 <LI>\uac1d\uccb4\uac00 \uc5b4\ub5a4 \ud074\ub798\uc2a4\uc758 \ud0c0\uc785\uc778\uc9c0 \uac80\uc0ac\ud560 \uc218 \uc788\ub3c4\ub85d \ud560 \uac83<\/LI><\/UL><br \/>\n<P>\uc704\uc758 \uc804\uc81c \uc870\uac74\ub4e4\uc5d0 \ub300\ud574\uc11c \uc2e4\uc81c \uc704\uc758 \ud074\ub798\uc2a4 \uc815\uc758 API\ub97c \ub300\ud55c \uc0ac\uc6a9\uc608\ub97c \ud1b5\ud574 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uc704\uc758 \ud074\ub798\uc2a4 \uc815\uc758 API\ub97c \ud1b5\ud574 \ub2e4\uc74c\uacfc \uac19\uc740 \ud074\ub798\uc2a4 \uacc4\uce35\uc744 \uad6c\uc131\ud558\uace0\uc790 \ud569\ub2c8\ub2e4.<\/P><br \/>\n<P><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1159169546.png\" class=\"aligncenter\" width=\"463\" height=\"423\" alt=\"\uc0ac\uc6a9\uc790 \uc0bd\uc785 \uc774\ubbf8\uc9c0\" \/>Shape\ub294 draw\ub77c\ub294 \ub9e4\uc11c\ub4dc\ub97c \uac16\ub294 \ucd94\uc0c1 \ud074\ub798\uc2a4\uc785\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \uc774 Shape\ub97c \uad6c\ud604\ud558\ub294 \ud074\ub798\uc2a4\ub85c Rectangle\uacfc Circle \ud074\ub798\uc2a4\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uae30\uc5d0 PositionedRectangle\ub77c\ub294 \ud074\ub798\uc2a4\ub294 Rectangle\ub97c \uc0c1\uc18d\ubc1b\uc2b5\ub2c8\ub2e4. \ub610\ud55c Coordinate\ub77c\ub294 \ud074\ub798\uc2a4\uac00 \uc874\uc7ac\ud558\uba70 \uc774 \ud074\ub798\uc2a4\ub294 PositionedRectangle\uc640 Circle \ud074\ub798\uc2a4 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/P><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\ub294 C++\uc774\ub098 C#\/Java \ub4f1\uc5d0\uc11c\uc640 \uac19\uc774 \ud074\ub798\uc2a4(Class)\ub97c \uc9c1\uc811\uc801\uc73c\ub85c \uc815\uc758\ud560 \uc218 \uc788\ub294 API\ub97c \uc81c\uacf5\ud574 \uc8fc\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\uc5d0\uc11c\ub294 \ud504\ub85c\ud1a0\ud0c0\uc785(Prototype)\uc744 \uc774\uc6a9\ud558\uc5ec \ud074\ub798\uc2a4\uc758 \ud2b9\uc131\uc744 \uc81c\uacf5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc774\ub7ec\ud55c \ud504\ub85c\ud1a0\ud0c0\uc785 \uae30\ubc18\uc758 \ud074\ub798\uc2a4 \uc815\uc758\uc5d0 \ub300\ud55c API\ub294 \uac1c\ubc1c\uc790\uac00 \uc9c1\uc811 \ub9cc\ub4e4\uc5b4 \uc0ac\uc6a9\ud574\uc57c \ud569\ub2c8\ub2e4. \uac8c\ub2e4\uac00 \ube44\ub85d \ud504\ub85c\ud1a0\ud0c0\uc785\uc744 \uc774\uc6a9\ud574 \ud074\ub798\uc2a4 \uac1c\ub150\uc744 \uc790\ubc14\uc2a4\ud06c\ub9bd\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4\uace0\ub294 \ud558\uc5ec\ub3c4 C++\uc774\ub098 C#\/Java\uc640 \uac19\uc740 \uc644\uc804\ud55c \ud074\ub798\uc2a4\ub97c \uc815\uc758\ud558\uc9c0\ub294 \ubabb\ud569\ub2c8\ub2e4. \ub300\uc2e0 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=1834\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;[JavaScript] \ud074\ub798\uc2a4 \uc815\uc758 API \u3161 1\/3&#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-1834","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\/1834","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=1834"}],"version-history":[{"count":4,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1834\/revisions"}],"predecessor-version":[{"id":2988,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1834\/revisions\/2988"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1834"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1834"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1834"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}