{"id":1837,"date":"2013-05-18T10:33:40","date_gmt":"2013-05-18T10:33:40","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=1837"},"modified":"2017-01-27T14:30:28","modified_gmt":"2017-01-27T05:30:28","slug":"javascript-%ed%81%b4%eb%9e%98%ec%8a%a4-%ec%a0%95%ec%9d%98-api-%e3%85%a1-33","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=1837","title":{"rendered":"[JavaScript] \ud074\ub798\uc2a4 \uc815\uc758 API \u3161 3\/3"},"content":{"rendered":"<p><P>\uc774\uc81c \ub05d\uc73c\ub85c Rectangle\ub97c \uc0c1\uc18d\ubc1b\ub294 PositionedRectangle \ud074\ub798\uc2a4\ub97c \uc815\uc758\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. Rectangle \ud074\ub798\uc2a4\ub294 \ub2e8\uc21c\ud788 \uac00\ub85c\uc640 \uc138\ub85c \ud06c\uae30\uac12\ub9cc\uc744 \uac00\uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uae30\uc5d0 \uc704\uce58\uac12\uae4c\uc9c0 \uac16\ub3c4\ub85d \ud55c \ud074\ub798\uc2a4\uac00 \ubc14\ub85c PositionedRectangle \ud074\ub798\uc2a4\uc785\ub2c8\ub2e4.<\/p>\n<pre>var PositionedRectangle = Class({\r\n    name: \"PositionedRectangle\",\r\n    extend: Rectangle,\r\n    construct: function(x,y,w,h) {\r\n        this.superclass(w, h);\r\n        this._x = x;\r\n        this._y = y;\r\n    },\r\n    methods: {\r\n        draw: function() {\r\n            alert(\"draw PositionedRectangle\");\r\n        },\r\n        getPosition: function() {\r\n            return new Coordinate(this._x, this._y);\r\n        }\r\n    },\r\n    requires: [aShape],\r\n    statics: {\r\n        isSame: function(a, b) {\r\n            return a._x == b._x && a._y == b._y && \r\n                a._width == b._width && a._height == b._height;\r\n        }\r\n    }\r\n});<\/pre>\n<p>\uc911\uc694\ud55c \ubd80\ubd84\uc740 \ubc14\ub85c 3\ubc88 \ucf54\ub4dc\ub85c \uc0c1\uc18d\ubc1b\uace0\uc790 \ud558\ub294 \ud074\ub798\uc2a4\ub97c \uc9c0\uc815\ud558\ub294 extend\uc785\ub2c8\ub2e4. \ubc14\ub85c \uc774 extend\ub85c \uc9c0\uc815\ub41c \ud074\ub798\uc2a4\uc758 \ubaa8\ub4e0 \uc18d\uc131\uac12\uc744 \uc0c1\uc18d\ubc1b\uac8c \ub418\ub294\ub370 \uc774 PositionedRectangle \ud074\ub798\uc2a4\ub294 Rectangle \ud074\ub798\uc2a4\uc758 \ubaa8\ub4e0 \uc18d\uc131(\ubcc0\uc218\uc640 \ub9e4\uc11c\ub4dc)\ub97c \uc0c1\uc18d\ubc1b\uac8c \ub429\ub2c8\ub2e4.<BR><BR>\ucd94\uac00\ub85c 18\ubc88 \ucf54\ub4dc\ub294 \uc815\uc801 \uc18d\uc131(\ubcc0\uc218\uc640 \ub9e4\uc11c\ub4dc)\ub97c \uc815\uc758\ud558\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4. \uc774\ub294 C++\uacfc \uc790\ubc14\uc640 \uac19\uc740 \uc5b8\uc5b4\uc5d0\uc11c \ud074\ub798\uc2a4 \ucc28\uc6d0\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \ubc14\ub85c \uadf8 \uae30\ub2a5\uc785\ub2c8\ub2e4.<BR><BR>\uc774\uc81c \uc774\ub807\uac8c \uc815\uc758\ud55c \ud074\ub798\uc2a4\ub4e4\uc744 \uc9c1\uc811 \uc0ac\uc6a9\ud558\ub294 \uc608\ub97c \ubcf4\uc774\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre>var c = new Circle(100, 100, 30);\r\nvar r = new PositionedRectangle(10, 10, 100, 100)\r\n\r\nalert(r instanceof Rectangle);\r\nalert(r instanceof PositionedRectangle);\r\nalert(r instanceof Object);\r\nalert(r instanceof Circle);\r\n\r\nc.draw();\r\nr.draw();\r\n\r\nalert(c.getCenter().toString());\r\nalert(PositionedRectangle.isSame(r, r));<\/pre>\n<p>1\ubc88\uacfc 2\ubc88 \ucf54\ub4dc\ub294 \ud074\ub798\uc2a4\ub97c \ud1b5\ud574 \uac1d\uccb4\ub97c \uc0dd\uc131\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 4~7\ubc88 \ucf54\ub4dc\uc5d0\uc11c \uac01 \uac1d\uccb4\uac00 \uc5b4\ub5a4 \ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4\uc778\uc9c0\ub97c \uac80\uc0ac\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uacb0\uacfc\uac12\uc740 \uc21c\uc11c\ub300\ub85c true, true, true, false\uc785\ub2c8\ub2e4. \uadf8\ub9ac\uace0 9~10\ubc88 \ucf54\ub4dc\ub294 draw \ud568\uc218\ub97c \ud638\ucd9c\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ub9c8\uce5c\uac00\uc9c0\ub85c 12\ubc88 ~ 13\ubc88 \ucf54\ub4dc\ub294 \uc815\uc758\ud55c \ub9e4\uc11c\ub4dc\ub97c \uc0ac\uc6a9\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<BR><BR>\uc774\uc0c1\uc73c\ub85c \ud074\ub798\uc2a4 \uc815\uc758 API\uc5d0 \ub300\ud55c \ub0b4\uc6a9\uc744 \ub9c8\ubb34\ub9ac\ud569\ub2c8\ub2e4. \uc911\uc694\ud55c \uac83\uc740 \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\ub294 \uacb0\ucf54 \uc644\ubcbd\ud55c \ud074\ub798\uc2a4 \uc815\uc758\ub97c \uc81c\uacf5\ud574\uc8fc\uc9c0 \ubabb\ud569\ub2c8\ub2e4. \uc774\ub294 \uc5b8\uc5b4\uc801 \ud55c\uacc4\uc785\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ud55c\uacc4\ub97c \ud574\uacb0\ud55c \ubc84\uc804\uc774 \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 2.0\uc785\ub2c8\ub2e4. \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 2.0\uc774 \ub098\uc624\uae30 \uc804\uae4c\uc9c0\ub294 \uc774\ub7ec\ud55c \ud074\ub798\uc2a4 \uc815\uc758 API\ub97c \uac1c\ubc1c\uc790\uac00 \uc9c1\uc811 \ub9cc\ub4e4\uace0 \uc774\ud574\ud558\uc5ec \uc0ac\uc6a9\ud574\uc57c \ud558\uba70 \uc2a4\uc2a4\ub85c\uc5d0 \ub300\ud55c \uc57d\uc18d\uc744 \uc815\ud574 \ubc18\ub4dc\uc2dc \uc900\uc218\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc57d\uc18d\uc740 private \ubcc0\uc218\uc758 \uacbd\uc6b0 \ubcc0\uc218\uba85 \uc55e\uc5d0 \ubc11\uc904(_)\uc744 \ub123\ub294 \ub4f1\uc5d0 \ub300\ud55c \uac83\uc785\ub2c8\ub2e4. \uac00\uc7a5 \uc911\uc694\ud55c \uac83\uc740 \ubb38\uc11c\ud654 \uc785\ub2c8\ub2e4. \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\ub294 \ub9e4\uc6b0 \uc720\uc5f0\ud55c \uc5b8\uc5b4\uc774\ubbc0\ub85c \ubb38\uc11c\ud654\ub97c \ud1b5\ud574 \uc57d\uc18d\uc744 \ubd84\uba85\ud788 \uae30\uc220\ud558\uc5ec \uc9c0\ud0ac \uc218 \uc788\ub3c4\ub85d \ud574\uc57c\ud569\ub2c8\ub2e4.<\/P><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc774\uc81c \ub05d\uc73c\ub85c Rectangle\ub97c \uc0c1\uc18d\ubc1b\ub294 PositionedRectangle \ud074\ub798\uc2a4\ub97c \uc815\uc758\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. Rectangle \ud074\ub798\uc2a4\ub294 \ub2e8\uc21c\ud788 \uac00\ub85c\uc640 \uc138\ub85c \ud06c\uae30\uac12\ub9cc\uc744 \uac00\uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uae30\uc5d0 \uc704\uce58\uac12\uae4c\uc9c0 \uac16\ub3c4\ub85d \ud55c \ud074\ub798\uc2a4\uac00 \ubc14\ub85c PositionedRectangle \ud074\ub798\uc2a4\uc785\ub2c8\ub2e4. var PositionedRectangle = Class({ name: &#8220;PositionedRectangle&#8221;, extend: Rectangle, construct: function(x,y,w,h) { this.superclass(w, h); this._x = x; this._y = y; }, methods: { draw: function() { alert(&#8220;draw PositionedRectangle&#8221;); }, getPosition: function() { &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=1837\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;[JavaScript] \ud074\ub798\uc2a4 \uc815\uc758 API \u3161 3\/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-1837","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\/1837","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=1837"}],"version-history":[{"count":1,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1837\/revisions"}],"predecessor-version":[{"id":2983,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1837\/revisions\/2983"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1837"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1837"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}