{"id":515,"date":"2020-06-01T09:00:58","date_gmt":"2020-06-01T00:00:58","guid":{"rendered":"http:\/\/mobilelab.khu.ac.kr\/?p=515"},"modified":"2020-04-05T18:59:39","modified_gmt":"2020-04-05T09:59:39","slug":"be-dart-programmer-20","status":"publish","type":"post","link":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/","title":{"rendered":"Dart Programmer \ub418\uae30 [20]"},"content":{"rendered":"\n<h4>&lt; Dart \uae30\ucd08\ubb38\ubc95 &#8211; Making Class &#8211; Part.1 &gt;<\/h4>\n\n\n\n<p>\uc774\uc804\uc758 \uae00\uc778 <em>Using Class<\/em>\ub97c \ud1b5\ud574\uc11c, \ud074\ub798\uc2a4\uac00 \ubb34\uc5c7\uc774\uba70, Dart \uc5b8\uc5b4\uac00 \uc81c\uacf5\ud558\ub294 \ud074\ub798\uc2a4\ub4e4\uc744 \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud558\ub294\uc9c0 \uc774\ud574 \ud558\uc600\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c\ub294 \uac1c\ubc1c\uc790\uac00 \uc9c1\uc811 \ud074\ub798\uc2a4\ub97c \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574\uc11c \uc124\uba85\ud558\uba74\uc11c, \ud074\ub798\uc2a4\uc758 \ubcf4\ub2e4 \uae4a\uc740 \ub0b4\uc6a9\uc5d0 \ub300\ud574\uc11c \uc54c\uc544\uac00\uaca0\uc2b5\ub2c8\ub2e4. \ub2e4\ub978 \uae00 \ub4e4\uacfc \ube44\uad50\ud558\uc5ec \ub0b4\uc6a9\uc774 \ub2e4\uc18c \ubc29\ub300\ud560 \uc218 \uc788\uae30\uc5d0, \ubbf8\ub9ac \ub2e4\ub8e8\uace0\uc790 \ud558\ub294 \ub0b4\uc6a9\uc744 \ub2e4\uc74c\uacfc \uac19\uc774 \ub098\ud0c0\ub0c8\uc2b5\ub2c8\ub2e4. \ucc38\uace0\ub85c \uc774\ubc88\uae00\uc5d0\uc11c\ub294 Dart \uc5b8\uc5b4 \uacf5\uc2dd \ud648\ud398\uc774\uc9c0\uc758 Language Guide \ubd80\ubd84\uc5d0\uc11c, Class \ubd80\ubd84\uc758 \uc608\uc81c \ud504\ub85c\uadf8\ub7a8\uc744 \uc77c\ubd80 \ubcc0\ud615\ud558\uc5ec \uc124\uba85 \ud558\uaca0\uc2b5\ub2c8\ub2e4 [<a href=\"https:\/\/dart.dev\/guides\/language\/language-tour#classes\">\ucc38\uc870<\/a>]. \ub2e4\ub8f0 \ub0b4\uc6a9\uc774 \ub9ce\uc740 \uad00\uacc4\ub85c \uc774 \uae00\uc5d0\uc11c\ub294 \uc544\ub798\uc758 \uc0ac\ud56d\uc5d0 \ub300\ud574\uc11c \uc124\uba85\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<ul><li><em>Class<\/em> Syntax<\/li><li>Constructor<\/li><li><em>runtimeType<\/em> Property<\/li><li>Instance Variables and Methods <\/li><li>Getters and Setters<\/li><li>Inheritance or Subclassing (<em>extends<\/em> Syntax)<\/li><li>Overriding Members<\/li><\/ul>\n\n\n\n<p>\uadf8\ub9ac\uace0 \ub2e4\uc74c \uae00\ub4e4\uc5d0\uc11c \uc544\ub798\uc758 \ub0b4\uc6a9 \ub4f1\uc744 \ub2e4\ub8e8\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ul><li>Mixins for Multiple Inheritance (<em>with<\/em> Syntax)<\/li><li>Implicit Interfaces (<em>implements<\/em> Syntax)<\/li><li>Abstract Methods and Classes<\/li><li>Extension Methods<\/li><li>Class Variables and Methods (<em>Static<\/em> Syntax)<\/li><li>Auxiliary Useful Features<\/li><\/ul>\n\n\n\n<p>\uc774 \uae00\uc5d0\uc11c\ub294 \uc608\uc2dc\ub85c \ud558\ub098\uc758 \ud074\ub798\uc2a4\ub97c \ub9cc\ub4e4\uc5b4 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uac04\ub2e8\ud558\uac8c 2\ucc28\uc6d0 \ud3c9\uba74\uc5d0 \uc88c\ud45c\uac12\uc778 (x, y)\ub97c \ub098\ud0c0\ub0b4\ub294 \ud074\ub798\uc2a4 Point \uc785\ub2c8\ub2e4. \uc544\ubb34\ub7f0 \ub0b4\uc6a9\uc774 \uc5c6\ub294 \uac00\uc7a5 \ub2e8\uc21c\ud55c \ud615\ud0dc\uc5d0\uc11c \uc2dc\uc791\ud574\uc11c \uc0c8\ub85c\uc6b4 \ubb38\ubc95\uc744 \ud558\ub098\uc529 \ucd94\uac00\ud574 \uac00\ub294 \ubc29\ud5a5\uc73c\ub85c \uc9c4\ud654\ud574 \ubcf4\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h4><em>Class<\/em> Syntax<\/h4>\n\n\n\n<p>\uc6b0\ub9ac\ub294 Dart\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \ub2e4\uc591\ud55c \ud074\ub798\uc2a4\ub97c \uc0ac\uc6a9\ud588\uc2b5\ub2c8\ub2e4. int, double, String, bool, List, Map, Set \ub4f1\uc758 \ud074\ub798\uc2a4\ub97c \uc798 \uc0ac\uc6a9\ud558\uc600\ub294\ub370, \uc774\ub4e4\uc744 \uc774\uc81c \ub9cc\ub4e4\uc5b4 \ubcf4\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4. \ud074\ub798\uc2a4\ub97c \ub9cc\ub4dc\ub294 \ubb38\ubc95\uc740 <em>class<\/em> \uc785\ub2c8\ub2e4. \uc77c\ub2e8 \ub0b4\ubd80\ub97c \ucc44\uc6b0\uc9c0 \uc54a\uace0, \uac00\uc7a5 \uac04\ub2e8\ud55c \ud615\ud0dc\ub85c Point\ub77c\ub294 \uc774\ub984\uc758 \ud074\ub798\uc2a4\ub97c \ub9cc\ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>class Point {\n}\n<\/pre>\n\n\n\n<p>\uc544\ubb34\ub7f0 \uc815\ubcf4\uac00 \uc5c6\ub294 \ud074\ub798\uc2a4\ub294 \uc758\ubbf8\uac00 \uc5c6\uc73c\ubbc0\ub85c, \uc6d0\ub798 \uacfc\ud45c\uac00 \uac00\uc838\uc57c \ud558\ub294 \uc815\ubcf4\uc778 x, y \uac12\uc744 \uac16\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4. \ud3b8\uc758\uc0c1 \ub370\uc774\ud0c0 \ud0c0\uc785\uc744 \uace0\ub824\ud558\uc9c0 \uc54a\uace0 type inference\ub97c \uc0ac\uc6a9\ud558\ub294 var \ud0c0\uc785\uc73c\ub85c \ub9cc\ub4e4\uaca0\uc2b5\ub2c8\ub2e4. \uc774\ub807\uac8c \ud074\ub798\uc2a4 \uc548\uc758 \ubcc0\uc218\ub97c instance variable \ud639\uc740 member variable \uc774\ub77c\uace0 \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>class Point {\n  var x;\n  var y;\n}\n<\/pre>\n\n\n\n<p>\uc774\ub807\uac8c \uac04\ub2e8\ud55c \ud074\ub798\uc2a4 Point \uc774\uc9c0\ub9cc, \ub2f9\uc7a5 \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c \ud65c\uc6a9 \uac00\ub2a5\ud569\ub2c8\ub2e4. \uac04\ub2e8\ud558\uac8c point1\uc774\ub77c\ub294 \uc774\ub984\uc73c\ub85c \ud074\ub798\uc2a4 Point\uc758 \uac1d\uccb4\ub97c \ub9cc\ub4e4\uace0, (Using Class\uc5d0\uc11c \ubc30\uc6b4 \uac83\ucc98\ub7fc) \ud074\ub798\uc2a4 Point\uc758 \uba64\ubc84 \ub370\uc774\ud0c0\uc5d0 \uac12\uc744 \uc800\uc7a5\ud558\uac70\ub098 \uc77d\uc5b4\uc624\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>void main() {\n  var point1 = Point();\n  \/\/ output: [01]$ point1 is (null, null)\n  print(\"[01]\\$ point1 is (${point1.x}, ${point1.y})\");\n}\n<\/pre>\n\n\n\n<p>print \uad6c\ubb38 [01] \uad00\ub828, Point \ud074\ub798\uc2a4 \uc774\ub984\uc744 \uc4f0\uace0 () \uae30\ud638\ub97c \ub9c8\uce58 \ud568\uc218 \ud638\ucd9c \ud558\ub4ef\uc774 \ubd99\uc774\ub294 \ud615\ud0dc\ub85c Point \uac1d\uccb4\ub97c \ub9cc\ub4e4\uac8c \ub429\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \ub9cc\ub4e4\uc5b4\uc9c4 \uac1d\uccb4\ub97c point1\uc5d0\uac8c \uc804\ub2ec\ud558\uc600\uc2b5\ub2c8\ub2e4. Point \uac1d\uccb4\uc5d0\ub294 x\uc640 y\uac00 \uba64\ubc84 \ub370\uc774\ud0c0\ub85c \uc788\uc73c\ubbc0\ub85c, \uc77c\ub2e8 \ub9cc\ub4e4\uc5b4\uc9c4 Point \uac1d\uccb4\uc758 \uba64\ubc84 \ubcc0\uc218\ub97c Using Class\uc5d0\uc11c \ubc30\uc6b4 &#8220;.&#8221; \uc5f0\uc0b0\uc790\ub97c \ud1b5\ud574\uc11c \ud655\uc778\ud574 \ubcf4\uba74, \ub450 \uac12\uc774 \ubaa8\ub450 null\ub85c \ub098\ud0c0\ub098\ub294 \uac83\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub294 Point \uac1d\uccb4\ub97c \ub9cc\ub4e4\uba74\uc11c, x\uc640 y \ubcc0\uc218\ub294 \ub9cc\ub4e4\uc5c8\uc9c0\ub9cc, \ucd08\uae30\ud654\ub97c \ud558\uc9c0 \uc54a\uc558\uae30\uc5d0, \uc55e\uc11c \ubcc0\uc218 \ubd80\ubd84\uc5d0\uc11c \ubc30\uc6b4 \uac83\ucc98\ub7fc \uac01\uac01 null \uac12\uc744 \uac00\uc9c0\ub294 \uac83\uc744 \ud655\uc778\ud55c \uac83\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ub9cc\uc57d var point1 = Point();\uac00 \uc544\ub2cc Point point1;\ub97c \ub9cc\ub4e4\uba74 \uc5b4\ub5bb\uac8c \ub420\uae4c\uc694? \ubcc0\uc218\ub97c \ub9cc\ub4e4\uba74, \ucd08\uae30\uac12\uc740 null\uc774\ub77c\uace0 \ud588\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \ud6c4\uc790\uc758 \ubb38\ubc95\uc740 point1\uc774\ub77c\ub294 \uc774\ub984\uc73c\ub85c &#8220;\uc55e\uc73c\ub85c&#8221; Point \ud074\ub798\uc2a4\ub97c \uc800\uc7a5\ud558\uace0 \ub2e4\ub8f0\uac83\uc774\ub2c8, &#8220;\uc9c0\uae08\uc740&#8221; \uc800\uc7a5\uc744 \uc548\ud558\uace0 \uc788\ub294 \uc0c1\ud0dc\ub77c\uc11c point1\uc774 null \uac12\uc744 \uac16\uac8c \ub429\ub2c8\ub2e4. \ub530\ub77c\uc11c, print\ub85c x\uc640 y\ub97c \ucd9c\ub825\ud558\uace0\uc790 \ud558\uba74 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>void main() {\n  Point point1;\n  \/\/ error at below, due to point1 is null\n  print(\"[01]\\$ point1 is (${point1.x}, ${point1.y})\");\n}\n<\/pre>\n\n\n\n<p>\uc774\uc5d0 point1 \uac1d\uccb4\uc758 \uba64\ubc84 \ubcc0\uc218\uc778 x\uc640 y\ub97c \uc758\ubbf8 \uc788\ub294 \uac12\uc73c\ub85c \uc800\uc7a5\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \ubc29\ubc95\uc740 Using Class\uc5d0\uc11c \ubc30\uc6b4 \uac83\ucc98\ub7fc, \uac1d\uccb4\uc758 &#8220;.&#8221; \uc5f0\uc0b0\uc790\ub97c \ud65c\uc6a9\ud558\uc5ec \uac12\uc744 \uc800\uc7a5\ud558\ub294 \uac83\uacfc \ub3d9\uc77c\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>void main() {\n  var point1 = Point();\n  \/\/ output: [01]$ point1 is (null, null)\n  print(\"[01]\\$ point1 is (${point1.x}, ${point1.y})\");\n\n  point1.x = 4;\n  point1.y = 4;\n  \/\/ output: [02]$ point1 is (4, 4)\n  print(\"[02]\\$ point1 is (${point1.x}, ${point1.y})\");\n}\n<\/pre>\n\n\n\n<p>point1 \uac1d\uccb4\uc758 x\uc640 y\uc5d0 \uac01\uac01 \uc815\uc218 4\ub97c \uc800\uc7a5\ud558\uc600\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 print \uad6c\ubb38 [02] \ucc98\ub7fc \ud558\uba74, \uc81c\ub300\ub85c 4 \uac12\uc774 \uc88c\ud45c \uac11\uc73c\ub85c \uc5c5\ub370\uc774\ud2b8 \ub41c \uac83\uc744 \ud655\uc778 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h4>Constructor<\/h4>\n\n\n\n<p>\ubcf4\ub2e4 \ud3b8\ub9ac\ud558\uac8c \uac1d\uccb4\ub97c \ub9cc\ub4dc\ub294 \uc9c0\uc810\uc5d0\uc11c \uba64\ubc84 \ubcc0\uc218\ub4e4\uc758 \ucd08\uae30\ud654\ub97c \uac19\uc774\ud558\ub294 \ubc29\ubc95\uc740 \uc5c6\uc744\uae4c? \uc774\ub7f0 \uae30\ub2a5\uc744 \uac1d\uccb4\uc9c0\ud5a5 \ud504\ub85c\uadf8\ub798\ubc0d\uc5d0\uc11c\ub294 constructor\ub77c\uace0 \ud569\ub2c8\ub2e4. \uba64\ubc84 \uba54\uc18c\ub4dc\ub85c\uc11c, \uac1d\uccb4\ub97c \ub9cc\ub4dc\ub294 \uc2dc\uc810\uc5d0\uc11c \uba64\ubc84 \ub370\uc774\ud0c0\ub97c \ucd08\uae30\ud654 \ud558\ub294 \uc791\uc5c5\uc744 \ud569\ub2c8\ub2e4.  \uac00\uc7a5 \uae30\ubcf8\uc801\uc778 constructor\ub294 \ud074\ub798\uc2a4\uc758 \uc774\ub984\uacfc \uac19\uc740 \uc774\ub984\uc758 \uba54\uc18c\ub4dc \uc785\ub2c8\ub2e4. Point \ud074\ub798\uc2a4\uc5d0 constructor\ub97c \ucd94\uac00\ud558\uace0, \ud574\ub2f9 constructor\uac00 x, y\uc758 \uac12\uc744 \uc785\ub825 \ud30c\ub77c\uba54\ud0c0\ub85c \ubc1b\ub3c4\ub85d \ud558\uace0, main()\uc5d0\uc11c constructor\ub97c \ud1b5\ud574\uc11c \ucd08\uae30\ud654\uae4c\uc9c0 \uc218\ud589\ud558\ub294 \ucf54\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<pre>class Point {\n  var x;\n  var y;\n\n  Point(var numX, var numY) {\n    this.x = numX;\n    this.y = numY;\n  }\n}\n\nvoid main() {\n  var point2 = Point(5, 5);\n  \/\/ output: [03]$ point1 is (5, 5)\n  print(\"[03]\\$ point2 is (${point2.x}, ${point2.y})\");\n}\n<\/pre>\n\n\n\n<p>\uc124\uba85\uc744 \ud558\uc9c0 \uc54a\uc740 \ubb38\ubc95\uc778 this\uac00 \ub098\ud0c0\ub0ac\uc2b5\ub2c8\ub2e4. this\ub294 \ud074\ub798\uc2a4\uc758 \uba64\ubc84 \uba54\uc18c\ub4dc\uc5d0\uc11c \uac1d\uccb4\uc758 \uac12\uc5d0 \uc811\uadfc\ud558\uae30 \uc704\ud558\uc5ec \uc0ac\uc6a9\ud558\ub294 \ubb38\ubc95\uc785\ub2c8\ub2e4. \uc989, \uc124\uacc4\ub3c4\uc778 \ud074\ub798\uc2a4\uc5d0\uc11c \uc81c\ud488\uc778 \uac1d\uccb4\ub4e4\uc774 \ub300\ub7c9\uc73c\ub85c \ub9cc\ub4e4\uc5b4 \uc9d1\ub2c8\ub2e4. \ub530\ub77c\uc11c Dart \uc5b8\uc5b4\ub294 Point \ud074\ub798\uc2a4\uc5d0\uc11c point2 \uac1d\uccb4\uac00 \ub9cc\ub4e4\uc5b4 \uc84c\uc744\ub54c, \uc124\uacc4\ub3c4\uac00 \uc544\ub2cc \uc81c\ud488\uc778 point2\uc758 \ub370\uc774\ud0c0\uc778 (5,5)\uc5d0 \uc811\uadfc\ud574\uc57c \ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c, this\ub294 var point2 = Point(5, 5);\uac00 \uc218\ud589\ub418\uba74, \uc77c\ub2e8 Point \uac1d\uccb4\ub97c \ub9cc\ub4e4\uc5b4\uc11c point2\uc5d0 \uc804\ub2ec\ud569\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \ub098\uc11c, point2\uc758 (x,y)\ub97c \uc811\uadfc\ud574\uc57c \ud558\ubbc0\ub85c, this\ub294 point2\ub97c \uc758\ubbf8\ud569\ub2c8\ub2e4. this\ub294 \uc785\ub825 \ud30c\ub77c\uba54\ud0c0 \ub4f1\uc73c\ub85c \uac1c\ubc1c\uc790\uac00 \uad00\ub9ac\ud560 \ud544\uc694\ub294 \uc5c6\uc73c\uba70, Dart \uc5b8\uc5b4\uac00 \uac1d\uccb4\uc758 \uba54\uc18c\ub4dc\uac00 \uc2e4\ud589\ub420\ub54c \uc2a4\uc2a4\ub85c \uad00\ub9ac\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uac1c\ubc1c\uc790\uac00 \uc9c1\uc811 constructor\ub97c \ub9cc\ub4e4\uac8c \ub418\uba74, \ud55c\uac00\uc9c0 \uc81c\uc57d\uc0ac\ud56d\uc774 \ubc1c\ud589\ud569\ub2c8\ub2e4. \uc55e\uc11c\ucc98\ub7fc \uc785\ub825 \ud30c\ub77c\uba54\ud0c0\uac00 \uc5c6\ub294 constructor\uac00 \uc790\ub3d9\uc73c\ub85c \ub3d9\uc791\ud558\uc9c0 \uc54a\ub294 \ub2e4\ub294 \uc810\uc785\ub2c8\ub2e4. \uc989 var point1 = Point();\ub294 \uc0ac\uc2e4\uc0c1 \uc785\ub825 \ud30c\ub77c\uba54\ud0c0\uac00 \uc5c6\ub294 contructor\ub97c \uc2e4\ud589\ud558\ub294 Point() \uc600\ub294\ub370, \uc774 \ubd80\ubd84\uc774 \uc5d0\ub7ec \uc5c6\uc774 \ub3d9\uc791\ud55c \uc774\uc720\ub294, \uac1c\ubc1c\uc790\uac00 constructor\ub97c \uc9c1\uc811 \ub9cc\ub4e4\uc9c0 \uc54a\uc73c\uba74, Dart \uc5b8\uc5b4\ub294 \uc790\ub3d9\uc73c\ub85c \uc785\ub825 \ud30c\ub77c\uba54\ud0c0\uac00 \uc5c6\ub294 constructor(default constructor \ub77c\uace0 \ud569\ub2c8\ub2e4)\ub97c \ub9cc\ub4e4\uc5b4 \uc8fc\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uac1c\ubc1c\uc790\uac00 constructor\ub97c \uc2a4\uc2a4\ub85c \ub9cc\ub4e4\uba74, Dart\ub294 default constructor\uc758 \uc0dd\uc131\uc744 \ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc785\ub825 \ud30c\ub77c\uba54\ud0c0\uac00 \uc5c6\ub294 default constructor\ub97c \uc9c1\uc811 \ub9cc\ub4e4\uc5b4 \uc918\uc57c \ud558\ub294\ub370, \uac00\uc7a5 \uac04\ub2e8\ud55c \ubc29\ubc95\uc740 \ub450\uac1c\uc758 \uc785\ub825 \ud30c\ub77c\uba54\ud0c0\ub97c \ubc1b\ub3c4\ub85d \ub9cc\ub4e0 constructor\uc758 \uc785\ub825 \ud30c\ub77c\uba54\ud0c0\ub97c optional\ud55c \ud30c\ub77c\uba54\ud0c0\ub85c \uc815\uc758\ud558\uace0, \uc8fc\uc5b4\uc9c0\uc9c0 \uc54a\uc73c\uba74 default \uac12\uc73c\ub85c \ucd08\uae30\ud654 \ud558\ub3c4\ub85d \ud558\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4. \uc774\ub807\uac8c \uac1c\uc120\ud55c constructor\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>Point([var numX = 0, var numY = 0]) {\n  this.x = numX;\n  this.y = numY;\n}\n<\/pre>\n\n\n\n<p>Constructor\ub294 \uc5ec\ub7ec\uac1c\uac00 \uc874\uc7ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \ud074\ub798\uc2a4\uc758 \uc774\ub984\uc740 \ud558\ub098\uc774\ub2c8, \ud074\ub798\uc2a4\uc758 \uc774\ub984\uacfc \ub3d9\uc77c\ud55c constructor\ub294 \ubcf5\uc218\ub85c \uc874\uc7ac\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, \ud074\ub798\uc2a4\uc758 \uc774\ub984\uc5d0 \ucd94\uac00\uc801\uc778 \uc2dd\ubcc4\uc790\ub97c \ub354\ud55c \ud615\ud0dc\ub85c \ubcf5\uc218\uac1c\uc758 constructor\ub97c \ub9cc\ub4e4\uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uc740 &#8220;\ud074\ub798\uc2a4\uc774\ub984.\uc2dd\ubcc4\uc790\uc774\ub984&#8221;\uc758 \ubc29\ubc95\uc73c\ub85c \uc774\ub984\uc774 Point.fromPoint \uc774\uba70, \uc785\ub825 \ud30c\ub77c\uba54\ud0c0\ub85c Point \uac1d\uccb4\ub97c \ubc1b\ub3c4\ub85d \ucd94\uac00\ub41c constructor \uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>Point.fromPoint(Point origin) {\n  this.x = origin.x;\n  this.y = origin.y;\n}\n<\/pre>\n\n\n\n<p>\uc0c8\ub85c \ub9cc\ub4e0 constroctur\ub85c \ubd80\ud130 point3 \uac1d\uccb4\ub97c \ub9cc\ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>var point3 = Point.fromPoint(point2);\n<\/pre>\n\n\n\n<h4><em>runtimeType<\/em> Property<\/h4>\n\n\n\n<p>Dart \uc5b8\uc5b4\ub294 \ubaa8\ub4e0 \ub370\uc774\ud0c0 \ud0c0\uc785\uc774 \ud074\ub798\uc2a4\uc758 \uac1d\uccb4\ub4e4\uc774\ub77c\uace0 \ud558\uc600\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc, type inference \uae30\ub2a5\uc73c\ub85c \uc778\ud574\uc11c, \ud3b8\ub9ac\ud558\uac8c var \ud639\uc740 dynamic \ud0c0\uc785\uc73c\ub85c \uc0ac\uc6a9\ud568\uc73c\ub85c\uc368, \uac1c\ubc1c\uc790\uac00 \uc77c\uc77c\uc774 \ub2e4\ub8e8\uace0\uc790 \ud558\ub294 \ud0c0\uc785\uc5d0 \ub9de\ucdb0\uc11c \ud504\ub85c\uadf8\ub798\ubc0d\uc744 \ud558\ub294 (\uc77c\ubd80) \ubc88\uac70\ub7ec\uc6c0\uc744 \ud3b8\ud558\uac8c \ubc14\ub00c\uc5b4 \uc90d\ub2c8\ub2e4. \ud558\uc9c0\ub9cc, \ud504\ub85c\uadf8\ub7a8\uc758 \uc2e4\ud589\uc911\uc5d0 \uac1d\uccb4\uc758 \ud0c0\uc785\uc744 \ud655\uc778\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\uac00 \uc885\uc885 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7f0 \uacbd\uc6b0\uc5d0 \uc720\uc6a9\ud55c \ubb38\ubc95\uc774 <em>runtimeType<\/em> property \uc785\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uc9c0\uae08\uae4c\uc9c0 \uc5b8\uae09\ub41c point3\uc758 \ud074\ub798\uc2a4 \ud0c0\uc785\uc744 \uc54c\uace0 \uc2f6\ub2e4\uba74, \ub2e4\uc74c\uacfc \uac19\uc774 \ud558\uba74 \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>print(\"[05]\\$ {$point3.runtimeType}\");\n<\/pre>\n\n\n\n<p>\uc774\uc5d0 \ub300\ud55c \ucd9c\ub825\uc740 &#8220;{Instance of &#8216;Point&#8217;.runtimeType}&#8221;\uc73c\ub85c \ub418\uc5b4, \ud074\ub798\uc2a4 Point\ub85c \ubd80\ud130 \ub9cc\ub4e4\uc5b4\uc9c4 \uac1d\uccb4(object \ud639\uc740 instance)\uc784\uc744 \uc54c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h4>Instance Variables and Methods&nbsp;<\/h4>\n\n\n\n<p>Instance Variable\uc740 Member Variable \uc774\ub77c\uace0 \ubd80\ub97c \uc218 \uc788\uc2b5\ub2c8\ub2e4, \uac1d\uccb4\uac00 \ub9cc\ub4e4\uc5b4 \uc9c0\uace0, \ud574\ub2f9 \uac1d\uccb4\uac00 \uad00\ub9ac\ud558\ub294 \ubcc0\uc218\ub97c \uc758\ubbf8\ud569\ub2c8\ub2e4. \uc774\ubbf8 \uc6b0\ub9ac\ub294 Point \ud074\ub798\uc2a4\uc5d0\uc11c \ub9cc\ub4e0 point1, point2, point3 \uac1d\uccb4 \uac01\uac01\uc5d0 \uc800\uc7a5\ub41c (x,y) \ubcc0\uc218\ub4e4 \uc785\ub2c8\ub2e4. <\/p>\n\n\n\n<p>Instance Method\ub294 Member Method \uc774\ub77c\uace0 \ubd80\ub97c \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud074\ub798\uc2a4\uc5d0\uc11c \ub9cc\ub4e4\uc5b4\uc9c4 \uac1d\uccb4\uac00 \uac00\uc9c0\uace0 \uc788\ub294 \ud568\uc218\ub4e4 \uc785\ub2c8\ub2e4. Constructor \ub4e4\ub3c4 \uc5ec\uae30\uc5d0 \uc18d\ud558\ub294 \ud568\uc218\ub4e4 \uc785\ub2c8\ub2e4. \uadf8\ub7ec\uba74 \uc774\ubc88\uc5d0\ub294 Point \ud074\ub798\uc2a4\uc5d0 \uba54\uc18c\ub4dc\ub97c \ucd94\uac00\ud574 \ubcf4\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4. \uc774\ubc88\uc5d0 \ucd94\uac00\ud558\ub294 \uba54\uc18c\ub4dc\ub294 \ub450\uac1c\uc758 \uc88c\ud45c \uc0ac\uc774\uc758 \uac70\ub9ac\ub97c \uad6c\ud558\ub294 \uae30\ub2a5\uc785\ub2c8\ub2e4. \uc774\ub984\uc740 distanceTo \uc774\uba70, \uc785\ub825 \ud30c\ub77c\uba54\ud0c0\ub85c \uc88c\ud45c\uac00 \uc8fc\uc5b4\uc9c0\uba74, \ubcf8\uc778\uc758 \uc88c\ud45c\uc640 \uc785\ub825 \ud30c\ub77c\uba54\ud0c0\ub85c \uc8fc\uc5b4\uc9c0\ub294 \uc88c\ud45c\uc0ac\uc774\uc758 \uac70\ub9ac\ub97c \uad6c\ud569\ub2c8\ub2e4. \uc88c\ud45c \uc0ac\uc774\uc758 \uac70\ub9ac\ub97c \uad6c\ud558\ub294 \uacf5\uc2dd\uc740 [<a href=\"https:\/\/ko.wikipedia.org\/wiki\/%EB%91%90_%EC%A0%90_%EC%82%AC%EC%9D%B4%EC%9D%98_%EA%B1%B0%EB%A6%AC\">\uc5ec\uae30<\/a>]\uc5d0\uc11c \ud655\uc778 \uac00\ub2a5\ud569\ub2c8\ub2e4. <\/p>\n\n\n\n<pre>num distanceTo(Point other) {\n  var dx = this.x - other.y;\n  var dy = this.y - other.y;\n  return sqrt(dx * dx + dy * dy);\n}\n<\/pre>\n\n\n\n<p>\ubabb\ubcf4\ub358 \ub370\uc774\ud0c0 \ud0c0\uc785\uc778 num\uacfc \ud568\uc218\uc778 sqrt\uac00 \uc788\ub294\ub370, \uc774\ub294 \uc774\ud6c4 Library\uc5d0\uc11c \uc124\uba85\ud558\uaca0\uc9c0\ub9cc, \uc22b\uc790\ub97c \ub2e4\ub8e8\ub294 num \ud074\ub798\uc2a4 \ud0c0\uc785\uacfc \uc218\ud559\uc5d0\uc11c \uc81c\uacf1\uadfc\uc744 \uacc4\uc0b0\ud558\ub294 \uae30\ub2a5\uc758 \ud568\uc218\ub85c, Dart \uc5b8\uc5b4\uac00 \ub0b4\uc7a5\ud574\uc11c \uc81c\uacf5\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uc774\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c, \ud504\ub85c\uadf8\ub7a8\uc758 \ub9e8 \uc704\uc5d0 import &#8216;dart:math&#8217;; \uad6c\ubb38\ub3c4 \ucd94\uac00\ud574 \ud558\uba70, \uc774\ub4e4\uc740 Library \uc5d0\uc11c \uc124\uba85 \ud558\uaca0\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<h4>Getters and Setters<\/h4>\n\n\n\n<p>Getter\uc640 Setter\ub294 \uba54\uc18c\ub4dc\uc758 \uc77c\uc885\uc73c\ub85c\uc11c, \uac1d\uccb4\uc758 Property\ub97c \uc77d\uac70\ub098 \uc4f0\uae30 \uc704\ud574\uc11c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uac1d\uccb4\uc758 \uba64\ubc84 \ub370\uc774\ud0c0\ub97c \uc9c1\uc811 \uc77d\uace0 \uc4f0\uae30 \ubcf4\ub2e4\ub294 \uac04\uc811\uc801\uc73c\ub85c Getter\uc640 Setter\ub97c \ud1b5\ud574\uc11c \uc811\uadfc\ud558\ub294 \uac83\uc774 \uc77c\ubc18\uc801\uc778 \uac1d\uccb4 \uc9c0\ud5a5 \ud504\ub85c\uadf8\ub798\ubc0d \ubc29\ubc95\uc774\ub77c\uace0 \ubcf4\uba74 \ub418\uaca0\uc2b5\ub2c8\ub2e4. Getter\ub85c\uc368, \uac1d\uccb4\uc758 \uc88c\ud45c\ub97c \uc77d\uc5b4 \uc624\ub294 \uac04\ub2e8\ud55c \uba54\uc18c\ub4dc\ub97c \ub9cc\ub4e4\uc5b4 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uc774 Getter\ub294 \uacb0\uacfc\uc801\uc73c\ub85c \uac1d\uccb4\uc758 x, y \uc88c\ud45c\ub97c &#8220;(x,y)&#8221; \ubb38\uc790\uc5f4\uc758 \ud615\ud0dc\ub85c return \ud558\ub3c4\ub85d \ub9cc\ub4e4\uc5b4 \ubd05\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>String get stringify =&gt; \"(${this.x},${this.y})\";\n<\/pre>\n\n\n\n<p>Anonymous function\uacfc \uc720\uc0ac\ud558\uc9c0\ub9cc, \uc785\ub825 \ud30c\ub77c\uba54\ud0c0 \ubd80\ubd84\uc744 \uad04\ud638 ( &#8230; )\ub85c \ubb36\uc5b4 \uc8fc\uc9c0 \uc54a\ub294 \uac83\uc774 \uc57d\uac04 \ub2e4\ub974\ub2e4\ub294 \uac83\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc65c \uc774\ub807\uac8c \ud45c\ud604\uc774 \ub418\ub294 \uac83\uc778\uc9c0\ub294 \uc544\ub798\uc758 \uc2e4\ud589 \uad6c\ubb38\uc744 \ubcf4\uba74 \uc774\ud574\uac00 \ub429\ub2c8\ub2e4. <\/p>\n\n\n\n<pre>print(\"[07]\\$ Position of point3 : \" + point3.stringify);\n<\/pre>\n\n\n\n<p>\ud638\ucd9c\ud558\ub294 \ubaa8\uc591\uc774 \uac1d\uccb4\uc758 property\ub97c \uc811\uadfc\ud558\ub294 \uac83\ucc98\ub7fc \ub418\uc5b4 \uc788\uace0, \ubcc4\ub3c4\uc758 \uc785\ub825 \ud30c\ub77c\uba54\ud0c0\ub97c \ubc1b\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \ud074\ub798\uc2a4 \uac1d\uccb4\uc758 stringfy property\uac00 \ud638\ucd9c\ub418\uba74, anonymous function \ucc98\ub7fc, \uc624\ub978\ucabd\uc758 \ud615\ud0dc\uc758 \ubb38\uc790\uc5f4(String) \ud0c0\uc785\uc73c\ub85c \ub9cc\ub4e4\uc5b4\uc11c return \ud558\uac8c \ub429\ub2c8\ub2e4. Setter\ub97c \ub9cc\ub4e0 \uad6c\ubb38\uc744 \uba3c\uc800 \ud655\uc778 \ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. set \uad6c\ubb38\uc774 \ub9e8 \uc55e\uc5d0 \ub098\ud0c0\ub098 \uc787\uace0, \ub9c8\uce58 \ud568\uc218 \uc774\ub984\uacfc \uc785\ub825 \ud30c\ub77c\uba54\ud0c0\ub97c \uc815\uc758\ud558\ub294 \uac83\ucc98\ub7fc \ub418\uc5b4 \uc788\uc73c\uba70, \uc785\ub825 \ud30c\ub77c\uba54\ud0c0 \uc704\uce58\uc5d0 \uc788\ub294 value\ub97c \uac00\uc9c0\uace0 \uac1d\uccb4 \ub0b4\ubd80\uc758 x \uac12\uacfc y \uac12\uc744 \uc5c5\ub370\uc774\ud2b8 \ud558\ub294 \uac83\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<pre>set increaseX(num value) =&gt; this.x += value;\nset increaseY(num value) =&gt; this.y += value; \n<\/pre>\n\n\n\n<p>Anonymous function \uac19\uae30\ub3c4 \ud558\uba74\uc11c \ub2e4\ub978 \uc774 \ud615\ud0dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uc2e4\ud589\uc744 \ud569\ub2c8\ub2e4. \ub9c8\uce58 \uac1d\uccb4\uc758 \uba64\ubc84 \ubcc0\uc218\uc5d0 \uac12\uc744 \uc800\uc7a5\ud558\ub294 \uac83\ucc98\ub7fc \ubcf4\uc774\uc9c0\ub9cc, \uc2e4\uc81c\ub85c\ub294 \uba64\ubc84 \ubcc0\uc218\ub97c \uc5c5\ub370\uc774\ud2b8 \ud558\ub294 \uba54\uc18c\ub4dc\ub97c \ud638\ucd9c\ud55c \uc148\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>point3.increaseX = 3;\npoint3.increaseY = 3;\n<\/pre>\n\n\n\n<p>\uc9c0\uae08\uae4c\uc9c0 \ub9cc\ub4e4\uc5c8\ub358 \ubaa8\ub4e0 \ub0b4\uc6a9\uc744 \ud558\ub098\uc758 \ud504\ub85c\uadf8\ub7a8\uc5d0 \ubaa8\uc544\uc11c \uc544\ub798\uc758 darttutorial-20-01.dart\uc5d0 \ud3ec\ud568 \ud558\uc600\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>\/\/ darttutorial-20-01.dart \n\n\/\/ Library for sqrt function inclusion\nimport 'dart:math';\n\nclass Point {\n  \/\/ Instance Variables\n  var x;\n  var y;\n\n  \/\/ Constructor with optional and default parameters\n  Point([var numX = 0, var numY = 0]) {\n    this.x = numX;\n    this.y = numY;\n  }\n\n  \/\/ COnstructor with Class-Name.Identifier-Name\n  Point.fromPoint(Point origin) {\n    this.x = origin.x;\n    this.y = origin.y;\n  }\n\n  \/\/ Instance method to calculate distance\n  num distanceTo(Point other) {\n    var dx = this.x - other.y;\n    var dy = this.y - other.y;\n    return sqrt(dx * dx + dy * dy);\n  }\n\n  \/\/ Getter\n  String get stringify =&gt; \"(${this.x},${this.y})\";\n\n  \/\/ Setter\n  set increaseX(num value) =&gt; this.x += value;\n  set increaseY(num value) =&gt; this.y += value; \n}\n\nvoid main() {\n  var point1 = Point();\n  \/\/ output: [01]$ point1 is (null, null)\n  print(\"[01]\\$ point1 is (${point1.x}, ${point1.y})\");\n\n  point1.x = 4;\n  point1.y = 4;\n  \/\/ output: [02]$ point1 is (4, 4)\n  print(\"[02]\\$ point1 is (${point1.x}, ${point1.y})\");\n\n  var point2 = Point(5, 5);\n  \/\/ output: [03]$ point2 is (5, 5)\n  print(\"[03]\\$ point2 is (${point2.x}, ${point2.y})\");\n\n  var point3 = Point.fromPoint(point2);\n  \/\/ output: [04]$ point3 is (5, 5)\n  print(\"[04]\\$ point3 is (${point3.x}, ${point3.y})\");\n\n  \/\/ output: [05]$ {Instance of 'Point'.runtimeType}\n  print(\"[05]\\$ {$point3.runtimeType}\");\n\n  \/\/ output: [06]$ Distance is 1.4142135623730951\n  print(\"[06]\\$ Distance is ${point1.distanceTo(point3)}\");\n\n  \/\/ output: [07]$ Position of point3 : (5,5)\n  print(\"[07]\\$ Position of point3 : \" + point3.stringify);\n\n  point3.increaseX = 3;\n  point3.increaseY = 3;\n  \/\/ output: [08]$ Position of point3 : (8,8)\n  print(\"[08]\\$ Position of point3 : \" + point3.stringify);\n}\n<\/pre>\n\n\n\n<p>\uc18c\uc2a4 \ucf54\ub4dc\ub0b4\uc758 print \uad6c\ubb38 \uc704\uc5d0 \uc2e4\ud589 \uacb0\uacfc\ub97c \ud3ec\ud568\ud558\uc600\uc9c0\ub9cc, \ucd9c\ub825 \uacb0\uacfc\ub97c \ud558\ub098\ub85c \ubaa8\uc544\uc11c \ub2e4\uc74c\uacfc \uac19\uc774 \ub098\uc5f4 \ud558\uc600\uc73c\ub2c8, \ucc38\uc870\ud558\uae30 \ubc14\ub78d\ub2c8\ub2e4. <\/p>\n\n\n\n<pre>[01]$ point1 is (0, 0)\n[02]$ point1 is (4, 4)\n[03]$ point2 is (5, 5)\n[04]$ point3 is (5, 5)\n[05]$ {Instance of 'Point'.runtimeType}\n[06]$ Distance is 1.4142135623730951\n[07]$ Position of point3 : (5,5)\n[08]$ Position of point3 : (8,8)\n<\/pre>\n\n\n\n<p>\uc9c0\uae08\uae4c\uc9c0 \ud074\ub798\uc2a4\ub97c \ub9cc\ub4dc\ub294 \ubc95\uc5d0 \ub300\ud574\uc11c \uc54c\uc544 \ubcf4\uc558\uc2b5\ub2c8\ub2e4. \ud074\ub798\uc2a4\ub97c \ub9cc\ub4e4\uc5b4\uc11c \uba64\ubc84 \ub370\uc774\ud0c0\uc640 \uba64\ubc84 \uba54\uc18c\ub4dc\ub97c \ud3ec\ud568\ud558\uc600\uc2b5\ub2c8\ub2e4. \uc774\ub807\uac8c \ub2e8\uc21c\ud55c \ud615\ud0dc\ub85c \ud074\ub798\uc2a4\ub97c \ub9cc\ub4e4\uc5b4\uc11c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\ub3c4 \uc790\uc8fc \uc788\ub294 \uc0ac\uc6a9\ubc95 \uc785\ub2c8\ub2e4. \ud558\uc9c0\ub9cc, \ud074\ub798\uc2a4\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\ub294 \ub300\ubd80\ubd84 &#8216;Subclassing&#8217; \ud639\uc740 &#8216;\uc720\uc804\uc758 \ubc95\uce59(inheritance)&#8217;\ub97c \ud1b5\ud574\uc11c \uc7ac\uc0ac\uc6a9\uc774\ub77c\ub294 \uac1c\ub150\uc744 \uc2e4\ucc9c\ud558\ub294 \uacbd\uc6b0\uac00 \uc77c\ubc18\uc801\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h4>Subclassing (<em>extends<\/em> syntax &amp; <em>Object<\/em> Class)<\/h4>\n\n\n\n<p>Subclassing\uc740 \ud2b9\uc815 Class\uc5d0 \ucd94\uac00\ub85c \ub370\uc774\ud0c0\uc640 \uae30\ub2a5\uc744 \ub123\uc5b4\uc11c \ud655\uc7a5\ud558\ub294 \uac1c\ub150\uc785\ub2c8\ub2e4. \ud655\uc7a5\uc774\ub77c\ub294 \ub2e8\uc5b4\ub97c \ud65c\uc6a9\ud574\uc11c \ubb38\ubc95\uc774\ub984\uc774 <em>extends<\/em> \uc785\ub2c8\ub2e4. \uc815\ub9ac\ud574\uc11c \uc774\uc57c\uae30\ud558\uba74, \uae30\ubc18\uc774 \ub418\ub294 Base Class\uc5d0 \ucd94\uac00\uc801\uc778 \uae30\ub2a5\uc744 \ub123\uc5b4\uc11c \ud655\uc7a5(extends)\ud558\uba74, \uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4\uc778 Subclass\ub97c \ub9cc\ub4e4\uac8c \ub418\ub294 \uac81\ub2c8\ub2e4. \uc774\ub54c \ud655\uc7a5\ub418\uc11c \ub9cc\ub4e4\uc5b4\uc9c4 Subclass\ub294 \uae30\ubc18\uc774 \ub418\uc5c8\ub358 Base Class\ub97c Super Class \ub77c\uace0\ub3c4 \ubd80\ub985\ub2c8\ub2e4. <\/p>\n\n\n\n<p>\uc804\ud1b5\uc801\uc73c\ub85c \ub2e4\ub978 \uc5b8\uc5b4\ub4e4\uc740 Inheritance \ub77c\ub294 \ub2e8\uc5b4\ub97c \ub354 \ub9ce\uc774 \uc4f0\uae30\ub294 \ud569\ub2c8\ub2e4. \uc774\uc720\ub294 \ubd80\ubaa8 \ud074\ub798\uc2a4(parent class)\uc5d0\uc11c \uc790\uc2dd \ud074\ub798\uc2a4(child class)\ub97c \ub9cc\ub4e0\ub2e4\ub294 \uac1c\ub150\uc778\ub370, \uc790\uc2dd\uc774 \ubd80\ubaa8\uc758 DNA\ub97c \ubb3c\ub824 \ubc1b\ub294 \ub2e4\ub294 \uac1c\ub150\uc5d0\uc11c, \ubd80\ubaa8\uc758 \ubaa8\ub4e0 \ub370\uc774\ud0c0\uc640 \uae30\ub2a5\uc774 \uc790\uc2dd\uc5d0\uac8c \uc720\uc804\uc774 \ub418\uace0, \uc790\uc2dd \uc2a4\uc2a4\ub85c\uc758 \ub370\uc774\ud0c0\uc640 \uae30\ub2a5\uc774 \ucd94\uac00\ub41c\ub2e4\ub294 \uc758\ubbf8\uc785\ub2c8\ub2e4. <\/p>\n\n\n\n<p>\uc774 \uae00\uc5d0\uc11c\ub294 Dart \uc5b8\uc5b4\uc5d0\uc11c \uc8fc\ub85c \uc0ac\uc6a9\ud558\ub294 superclass, subclass, extends\uc758 \ub2e8\uc5b4\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc124\uba85\uc744 \ud574 \ub098\uac00\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \ucc38\uace0\ub85c Dart \uc5b8\uc5b4\uc758 \ubaa8\ub4e0 \ud074\ub798\uc2a4\ub4e4\uc740 <em>Object<\/em> \ub77c\ub294 \ud074\ub798\uc2a4\uc5d0\uc11c extends \ub418\uc5b4 \ub9cc\ub4e4\uc5b4\uc9c4 \ud074\ub798\uc2a4\ub4e4\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc774 \uae00\uc5d0\uc11c\ub294 subclassing\uc744 \uc124\uba85\ud558\uae30 \uc704\ud55c \ubaa9\uc801\uc73c\ub85c, \uc55e\uc11c\uc758 Point \ud074\ub798\uc2a4\ub97c extends\ud574\uc11c ColorPoint \ud074\ub798\uc2a4\ub97c \ub9cc\ub4e4\uace0\uc790 \ud569\ub2c8\ub2e4. \uc774\ub294 Point \ud074\ub798\uc2a4\uc758 \uacbd\uc6b0\ub294 \ub2e8\uc21c\ud788 \uc88c\ud45c\uac12\ub9cc \uac00\uc9c0\uace0 \uc788\uc9c0\ub9cc, ColorPoint\ub294 \uc810\uc5d0 \uc0c9\uae54\uc744 \uc785\ud788\ub824\ub294 \ubaa9\uc801\uc73c\ub85c Point \ud074\ub798\uc2a4\ub97c extends \ud558\uace0\uc790 \ud569\ub2c8\ub2e4. Point\uc5d0\uc11c extends\ud55c ColorPoint\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>class ColorPoint extends Point {\n}\n<\/pre>\n\n\n\n<p>\uc774\ub807\uac8c \ud558\ub294 \uac83 \ub9cc\uc73c\ub85c, Point \ud074\ub798\uc2a4\uc758 \ubaa8\ub4e0 \ub370\uc774\ud0c0\uc640 \uba54\uc18c\ub4dc\ub294 \ubaa8\ub450 ColorPoint\uc5d0 \ud3ec\ud568\ub429\ub2c8\ub2e4. { &#8230; } \uc548\uc5d0 \uc544\ubb34\uac83\ub3c4 \uc801\uc9c0 \uc54a\uc740 \uc0c1\ud0dc\uc5d0\uc11c, main()\uc5d0\uc11c \ub2e4\uc74c\uacfc \uac19\uc774 \uc2e4\ud589\ud558\uba74, \uc55e\uc11c Point \ud074\ub798\uc2a4\uc5d0\uc11c \uc815\uc758\ud55c \uae30\ub2a5\ub4e4\uc774 \uadf8\ub300\ub85c \ub3d9\uc791\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>var cPoint1 = ColorPoint();\n\/\/ output : [01]$ Position of cPoint1 : (0,0)\nprint(\"[01]\\$ Position of cPoint1 : \" + cPoint1.stringify);\n<\/pre>\n\n\n\n<p>\uc774\uc81c ColorPoint \ud074\ub798\uc2a4\uc5d0 Instance Variables\ub97c \ucd94\uac00 \ud558\uaca0\uc2b5\ub2c8\ub2e4. \ud751\ubc31\uc758 \uacbd\uc6b0\ub294 \ud751 \ud639\uc740 \ubc31\uc758 \uc774\uc9c4 \uac12\uc774\uc9c0\ubbf8\ub098, \uceec\ub7ec \uac12\uc744 \ub098\ud0c0\ub0b4\ub824\uba74 R, G\uc640 B\uc758 \uc138\uac00\uc9c0 \uc0bc\uc6d0\uc0c9\uc774 \ud569\uccd0\uc838\uc57c \ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c { red, green, blue } \uc138 \uac12\uc744 subclass\uc778 ColorPoint\uc5d0\uc11c \uba64\ubc84 \ub370\uc774\ud0c0\ub85c \uac16\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \uac00\uc7a5 \uae30\ubcf8\uc801\uc73c\ub85c constructor\ub97c \ub9cc\ub4e4\uc5b4\uc11c, \uc138\uac00\uc9c0 \uc0c9\uae54\uc744 \ubc1b\ub3c4\ub85d \ud558\uace0, \ucd94\uac00\ub85c super class\uc778 Point\uc758 (x,y) \ud30c\ub77c\uba54\ud0c0\ub97c \ucd08\uae30\ud654 \ud558\ub294 \ud615\ud0dc\ub85c \ub9cc\ub4ed\ub2c8\ub2e4. Point \uacbd\uc6b0 \ucc98\ub7fc, \uc785\ub825 \ud30c\ub77c\uba54\ud0c0\ub97c \uc8fc\uc9c0 \uc54a\uc73c\uba74, default\ub85c \uc138\uac00\uc9c0 \uc0c9\uae54 \ubc0f \uc88c\ud45c\uac00 0\uc778 \uac83\uc73c\ub85c \ucd08\uae30\ud654 \ud558\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4. \uc774\ub807\uac8c \uac1c\uc120\ud55c ColorPoint \ud074\ub798\uc2a4\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<pre>class ColorPoint extends Point {\n  int red;\n  int green;\n  int blue;\n\n  ColorPoint([int r = 0, int g = 0, int b = 0, int x = 0, int y = 0]) : super(x, y) {\n    this.red = r;\n    this.green = g;\n    this.blue = b;\n  }\n}\n<\/pre>\n\n\n\n<p>\uc774\uc81c ColorPoint \ud074\ub798\uc2a4\ub294 Point \ud074\ub798\uc2a4\uc758 \uc88c\ud45c \uac12\uc5d0 \ucd94\uac00\ub85c 3\uac00\uc9c0 \uc0c9\uae54\uc744 \uba64\ubc84 \ub370\uc774\ud130\ub85c \uc800\uc7a5\ud569\ub2c8\ub2e4. \uadf8\ub9ac\uace0 contructor\ub97c \ud1b5\ud574\uc11c, \uc544\ubb34\ub7f0 \uac12\uc774 \uc5c6\uc73c\uba74 \ubaa8\ub4e0 \uac12\uc744 0\uc73c\ub85c \uc124\uc815\ud558\uac70\ub098, \ub2e4\uc12f \uac00\uc9c0\uc758 \uac12\uc744 \uc8fc\uba74 subclass\uc758 3\uac00\uc9c0 \uc0c9\uae54\uc744 \ucc44\uc6b0\uace0, super class\uc758 \uc88c\ud45c\uac12\uc744 \ucc44\uc6b0\ub294 \uc791\uc5c5\uc744 \ud569\ub2c8\ub2e4. \uc5ec\uae30\uc11c ColorPoint\uc758 constructor\ub97c \ubcf4\uba74, subclass\uc758 3\uac00\uc9c0 \uc0c9\uae54\uc740 constructor \uc548\uc5d0\uc11c \uac12\uc744 \ucd08\uae30\ud654 \ud558\uc9c0\ub9cc, super class\uc758 x, y \uc88c\ub8cc\ub294 &#8220;: super(x, y)&#8221;\ub85c \ub418\uc5b4 \uc788\ub294 \uac83\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uae30\uc11c super\ub294 super class\uc758 constructor\ub97c \ud638\ucd9c\ud55c \uac83\uc785\ub2c8\ub2e4. \ub530\ub77c\uc11c Point \ud074\ub798\uc2a4\uc758 Point( x, y )\ub97c \ud638\ucd9c\ud55c\ub2e4\uace0 \ubcf4\uba74 \ub429\ub2c8\ub2e4. \uc774\ub807\uac8c subclass\uc5d0\uc11c\ub294 \ud544\uc694\ud55c \uacbd\uc6b0\uc5d0 \uac15\uc81c\uc801\uc73c\ub85c super class\uc758 \uba54\uc18c\ub4dc\ub97c \ud638\ucd9c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>var cPoint2 = ColorPoint(100, 100, 100, 3, 3);\n\/\/ output : [02]$ Color of cPoint2 : 100 100 100\nprint(\"[02]\\$ Color of cPoint2 : \" + \"${cPoint2.red} ${cPoint2.green} ${cPoint2.blue}\");\n\/\/ output : [03]$ Position of cPoint2 : (3,3)\nprint(\"[03]\\$ Position of cPoint2 : \" + cPoint2.stringify);\n<\/pre>\n\n\n\n<p>\uc704\ucc98\ub7fc main()\uc5d0\uc11c \uc218\ud589\uc744 \ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \ucd9c\ub825\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. Color \uac12\uc774 \ubaa8\ub450 100\uc73c\ub85c \ucc44\uc6cc\uc838 \uc788\uace0, \uc88c\ud45c \uac12\uc740 (3,3)\uc73c\ub85c \ub9cc\ub4e4\uc5b4\uc838 \uc788\ub294 \uac83\uc744 \ud655\uc778 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>[01]$ Position of cPoint1 : (0,0)\n[02]$ Color of cPoint2 : 100 100 100\n[03]$ Position of cPoint2 : (3,3)\n<\/pre>\n\n\n\n<p>super \ubb38\ubc95\uc744 \ub2e4\uc2dc \ud55c\ubc88 \ub354 \ud65c\uc6a9\ud558\uae30 \uc704\ud574\uc11c, \uc774\ubc88\uc5d0\ub294 subclass\uc5d0\uc11c super class\uc758 stringfy property\ub97c \uac1c\uc120\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. Point \ud074\ub798\uc2a4\uc5d0\ub294 \uc88c\ud45c\uac12\ub9cc \ucd9c\ub825\uc744 \ud588\uc9c0\ub9cc, ColorPoint\uc758 stringfy\ub294 \uc88c\ud45c\uc5d0 \ucd94\uac00\uc801\uc73c\ub85c \uc0c9\uae54\uc744 \ucd9c\ub825\ud558\uac8c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>String get stringify =&gt; \"${super.stringify} with (${this.red},${this.green},${this.red})\";\n<\/pre>\n\n\n\n<p>\uc774\ub807\uac8c stringfy\ub97c \uc218\uc815 \ud55c\ud6c4, \ub2e4\uc2dc \ud55c\ubc88 \uc704\uc758 \uacb0\uacfc\ub97c \ucd9c\ub825\ud558\uba74, \ub2e4\uc74c\uacfc \uac19\uc774 \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>[01]$ Position of cPoint1 : (0,0) with (0,0,0)\n[02]$ Color of cPoint2 : 100 100 100\n[03]$ Position of cPoint2 : (3,3) with (100,100,100)\n<\/pre>\n\n\n\n<h4>Overriding Members<\/h4>\n\n\n\n<p>Override\ub294 subclass\uc5d0\uc11c super class\uc758 \uba54\uc18c\ub4dc, getter, setter\uc640 \uac19\uc740 \uc774\ub984\uc73c\ub85c \uac19\uc740 \ud0c0\uc785\uc758 \ud568\uc218\ub97c \ub9cc\ub4dc\ub294 \uac83\uc744 \uc758\ubbf8\ud55c\ub2e4. \uc774\ub7f0 \uacbd\uc6b0\ub294, \ub300\ubd80\ubd84 super class\uc758 \ud568\uc218\ub97c \uac15\ud654\ud558\uac70\ub098, \ud639\uc740 super class\uc758 \uc791\uc5c5\uc744 \uc644\uc804\ud788 \uc0c8\ub85c\uc6b4 \uc791\uc5c5\uc73c\ub85c \ub300\uccb4\ud558\ub294 \ubaa9\uc801\uc73c\ub85c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc774\ubbf8 \uc6b0\ub9ac\ub294 \uc55e\uc11c\uc758 ColorPoint\ub97c \ub9cc\ub4e4\ub54c, ColorPoint\uc758 \ub0b4\ubd80\uc5d0 getter\ub97c \ub9cc\ub4e4\uc5c8\ub294\ub370, super class\uc778 Point \ud074\ub798\uc2a4\uc5d0 \uc774\ubbf8 \uc874\uc7ac\ud558\ub294 &#8220;String get stringify&#8221; \ud615\ud0dc\ub85c \ub9cc\ub4e0 \uac83\uc744 \ubcf4\uc558\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, ColorPoint\ub294 super class\uc778 Point \ud074\ub798\uc2a4\uc758 getter\uc778 stringfy\ub97c override \ud558\uc600\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, \uc704\uc758 ColorPoint\uc758 stringfy \uad6c\ubb38\uc744 \ubcf4\uba74, \ucd94\uac00\ub41c \uae30\ub2a5\uc778 \uc138\uac00\uc9c0 \uc0c9\uae54\uc744 \ucd9c\ub825\ud558\ub294 \ud615\ud0dc\ub97c \ub9cc\ub4e0\ud6c4, super class\uc5d0 \uc874\uc7ac\ud558\uba74\uc11c overried\ub41c Point \ud074\ub798\uc2a4\uc758 stringfy\ub97c \uc2e4\ud589\ud558\uc5ec, \uc88c\ud45c\ub97c \ucd94\uac00\ub85c \uac00\uc838\uc624\ub3c4\ub85d \ud558\uc600\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>Dart\uc5d0\uc11c\ub294 subclass\uc5d0\uc11c super class\uc758 \ud568\uc218(\uba54\uc18c\ub4dc, getter, setter)\ub97c override\ud558\ub294 \uac83\uc744 \uba85\ud655\ud558\uac8c \ub4dc\ub7ec\ub0b4\ub294 \ubb38\ubc95\uc73c\ub85c @override\uc774 \uc788\uc73c\uba70, \uc55e\uc11c\uc758 ColorPoint \ud074\ub798\uc2a4\uc758 stringfy\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc774 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<pre>@override\nString get stringify =&gt; \"${super.stringify} with (${this.red},${this.green},${this.red})\";\n<\/pre>\n\n\n\n<p>@override\uac00 \uc5c6\ub354\ub77c\ub3c4 override\ub97c \ud558\ub294 \uac83\uc5d0\ub294 \ubb38\uc81c\uac00 \uc5c6\uc9c0\ub9cc, \ud574\ub2f9 \ud568\uc218\uac00 \uba85\ud655\ud558\uac8c super class\uc758 \ud568\uc218\ub97c override\ud558\ub294 \uac83\uc73c\ub85c \ud588\uc73c\ubbc0\ub85c, \uac1c\ubc1c\uc790\uac00 subclass\uc5d0\uc11c \uc791\uc5c5\uc744 \ud560\ub54c, \ubc18\ub4dc\uc2dc super class\uc5d0\ub294 \ud574\ub2f9 \ud568\uc218\uac00 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc758\ubbf8\ub97c \ud65c\uc6a9\ud558\uc5ec editor \ub4f1\uc5d0\uc11c super class\uc758 \ud574\ub2f9 \ud568\uc218\uc758 \uc774\ub984\uc774 \ubc14\ub00c\uac70\ub098 \ud558\ub294 \ub4f1\uc758 \uc0c1\ud669\uc5d0\uc11c\ub3c4 \uc624\ub958\ub97c \ubc29\uc9c0\ud560 \uc218 \uc788\ub3c4\ub85d \ub3c4\uc6c0\uc744 \uc904 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>Overriding \ud560 \uc218 \uc788\ub294 \ud568\uc218\ub294 \uba64\ubc84 \uba54\uc18c\ub4dc, getter, setter \uc678\uc5d0 Dart\uc758 \ud45c\uc900 \uc5f0\uc0b0\uc790\ub4e4\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc989, +, -, *, \/, ~\/, % \uc678\uc5d0 &lt;&lt;, &gt;&gt;, == \ub4f1\uc758 \uc5f0\uc0b0\uc790 \uae30\ud638\ub4e4\ub3c4 override\uac00 \uac00\ub2a5\ud569\ub2c8\ub2e4. \uc774\ub294 \uc0c8\ub86d\uac8c \ub9cc\ub4e0 \ud074\ub798\uc2a4\uc5d0 \ub300\ud574\uc11c\ub294 \uae30\uc874\uc758 \uc5f0\uc0b0\uc790\uac00 \uc815\ubcf4\uac00 \uc5c6\uc5b4\uc11c \ucc98\ub9ac\ub97c \ud560 \uc218 \uc5c6\uae30 \ub54c\ubb38\uc5d0, \uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4\ub97c \ub9cc\ub4e0 \uac1c\ubc1c\uc790\uac00 \uc9c1\uc811 \uc774 \uc5f0\uc0b0\uc790\ub4e4\uc774 \uc0c8\ub85c\uc6b4 \ud074\ub798\uc2a4 \ud0c0\uc785\uc744 \ub9cc\ub0ac\uc744\ub54c \uc5b4\ub5bb\uac8c \ub3d9\uc791\ud574\uc57c \ud560\uc9c0\ub97c \uc815\ud574\uc918\uc57c \ud558\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \uc774\ub97c \uc608\uc2dc\ub85c \ubcf4\uc5ec\uc8fc\uae30 \uc704\ud574\uc11c, ColorPoint \uac1d\uccb4\uac00 + \uc5f0\uc0b0\uc790\uc5d0 \ubc18\uc751\ud560 \uc218 \uc788\ub3c4\ub85d, \ud45c\uc900 \uc5f0\uc0b0\uc790\uc778 + \uc5f0\uc0b0\uc790\ub97c override \ud558\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc774 \ucf54\ub4dc\uac00 \uc544\ub798\uc5d0 \ub098\ud0c0\ub098 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>ColorPoint operator +(ColorPoint p) =&gt; ColorPoint(255, 255, 255, this.x + p.x, this.y + p.y);\n<\/pre>\n\n\n\n<p>\uad6c\ubb38\uc744 \uc0c1\uc138\ud558\uac8c \uc124\uba85\ud558\uba74, ColorPoint p \uac1d\uccb4\ub97c \uc785\ub825\uc73c\ub85c \ubc1b\uc544\uc11c, ColorPoint\ub97c \uacb0\uacfc\uac12\uc73c\ub85c return\ud558\ub294 operator + \uc5f0\uc0b0\uc790\ub97c \uc7ac\uc815\uc758 \ud55c\ub2e4\ub294 \uc758\ubbf8\uc785\ub2c8\ub2e4. return \ud558\ub294 \uc0c8\ub85c\uc6b4 ColorPoint \uac1d\uccb4\ub294 \ubaa8\ub4e0 \uc0c9\uae54 \uac12\uc744 255\ub85c \ud558\uace0, \uc88c\ud45c\uac12\uc740 \ub450 \uc88c\ud45c\ub97c \ud569\ud55c \uac12\uc73c\ub85c \uc5c5\ub370\uc774\ud2b8 \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>darttutorial-20-01.dart\uc5d0\uc11c \ub9cc\ub4e0 Point \ud074\ub798\uc2a4\ub97c \uae30\ubc18\uc73c\ub85c \ud574\uc11c, subclassing\uacfc overriding\uc744 \ud1b5\ud574 \ud655\uc7a5\ud55c \ub0b4\uc6a9\uc744 darttutorial-20-02.dart\uc5d0 \ubaa8\uc544 \ub450\uc5c8\uc2b5\ub2c8\ub2e4. \uc18c\uc2a4 \ud504\ub85c\uadf8\ub7a8\uc744 \ucc9c\ucc9c\ud788 \uc77d\uc73c\uba74\uc11c \uc774\ud574\ud558\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>\/\/ darttutorial-20-02.dart \n\n\/\/ Library for sqrt function inclusion\nimport 'dart:math';\n\nclass Point {\n  \/\/ Instance Variables\n  var x;\n  var y;\n\n  \/\/ Constructor with optional and default parameters\n  Point([var numX = 0, var numY = 0]) {\n    this.x = numX;\n    this.y = numY;\n  }\n\n  \/\/ COnstructor with Class-Name.Identifier-Name\n  Point.fromPoint(Point origin) {\n    this.x = origin.x;\n    this.y = origin.y;\n  }\n\n  \/\/ Instance method to calculate distance\n  num distanceTo(Point other) {\n    var dx = this.x - other.y;\n    var dy = this.y - other.y;\n    return sqrt(dx * dx + dy * dy);\n  }\n\n  \/\/ Getter\n  String get stringify =&gt; \"(${this.x},${this.y})\";\n\n  \/\/ Setter\n  set increaseX(num value) =&gt; this.x += value;\n  set increaseY(num value) =&gt; this.y += value; \n}\n\nclass ColorPoint extends Point {\n  \/\/ Instance Variables\n  int red;\n  int green;\n  int blue;\n\n  \/\/ Constructor with optional and default parameters\n  ColorPoint([int r = 0, int g = 0, int b = 0, int x = 0, int y = 0]) : super(x, y) {\n    this.red = r;\n    this.green = g;\n    this.blue = b;\n  }\n\n  \/\/ Getter\n  @override\n  String get stringify =&gt; \"${super.stringify} with (${this.red},${this.green},${this.red})\";\n\n  \/\/ Overriding generic operators\n  ColorPoint operator +(ColorPoint p) =&gt; ColorPoint(255, 255, 255, this.x + p.x, this.y + p.y);\n}\n\nvoid main() {\n  var cPoint1 = ColorPoint();\n  \/\/ output : [01]$ Position of cPoint1 : (0,0)\n  print(\"[01]\\$ Position of cPoint1 : \" + cPoint1.stringify);\n\n  var cPoint2 = ColorPoint(100, 100, 100, 3, 3);\n  \/\/ output : [02]$ Color of cPoint2 : 100 100 100\n  print(\"[02]\\$ Color of cPoint2 : \" + \"${cPoint2.red} ${cPoint2.green} ${cPoint2.blue}\");\n  \/\/ output : [03]$ Position of cPoint2 : (3,3)\n  print(\"[03]\\$ Position of cPoint2 : \" + cPoint2.stringify);\n\n  var cPoint3 = ColorPoint(1, 1, 1, 5, 5);\n  var cPoint4 = cPoint2 + cPoint3;\n  \/\/ output : [04]$ Color of cPoint4 : 255 255 255\n  print(\"[04]\\$ Color of cPoint4 : \" + \"${cPoint4.red} ${cPoint4.green} ${cPoint4.blue}\");\n  \/\/ output : [05]$ Position of cPoint4 : (8,8) with (255,255,255)\n  print(\"[05]\\$ Position of cPoint4 : \" + cPoint4.stringify);\n}\n<\/pre>\n\n\n\n<p>\uc774 \ud504\ub85c\uadf8\ub7a8\uc758 \ucd9c\ub825\uc740 \uc544\ub798\uc640 \uac19\uc774 \ubcc4\ub3c4\ub85c \ud3ec\ud568\ud558\uc600\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre>[01]$ Position of cPoint1 : (0,0) with (0,0,0)\n[02]$ Color of cPoint2 : 100 100 100\n[03]$ Position of cPoint2 : (3,3) with (100,100,100)\n[04]$ Color of cPoint4 : 255 255 255\n[05]$ Position of cPoint4 : (8,8) with (255,255,255)\n<\/pre>\n\n\n\n<h4>\ub9c8\ubb34\ub9ac<\/h4>\n\n\n\n<p>\uc774 \uae00\uc5d0\uc11c\ub294 Using Class\uc5d0\uc11c \uc0ac\uc6a9\ud55c \ud074\ub798\uc2a4\ub97c \uc9c1\uc811 \ub9cc\ub4e4\uc5b4 \ubcf4\ub294 \uc791\uc5c5\uc744 \ud558\uc600\uc2b5\ub2c8\ub2e4. \ud074\ub798\uc2a4\ub97c \ud558\ub098 \ub9cc\ub4e4\uc5b4 \ubcf8 \ud6c4, \uc774\ub97c super class\ub85c \ud558\uc5ec, \ud655\uc7a5\ud55c(extends) subclass\ub97c \ub9cc\ub4e4\uc5b4 \ubcf4\uc558\uc2b5\ub2c8\ub2e4. \uc774\ub807\uac8c \ud568\uc73c\ub85c\uc368, \uae30\ubcf8\uc801\uc778 \ud074\ub798\uc2a4\uc758 \uc124\uacc4\uc640 \uac1c\ubc1c\uc5d0 \ub300\ud574\uc11c \ubc30\uc6e0\uc73c\uba70, \uc880 \ub354 \uc9c4\ubcf4\ub41c \ubb38\ubc95\ub4e4\uc744 \ub2e4\uc74c \uae00\uc5d0\uc11c \ubc30\uc6b0\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-content\/uploads\/2020\/01\/b05-1.jpg\" alt=\"\" class=\"wp-image-267\" width=\"137\" height=\"49\"\/><\/figure><\/div>\n\n\n\n<p><strong>Creative Commons License<\/strong> (<strong>CC BY-NC-ND<\/strong>)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&lt; Dart \uae30\ucd08\ubb38\ubc95 &#8211; Making Class &#8211; Part.1 &gt; \uc774\uc804\uc758 \uae00\uc778 Using Class\ub97c \ud1b5\ud574\uc11c, \ud074\ub798\uc2a4\uac00 \ubb34\uc5c7\uc774\uba70, Dart \uc5b8\uc5b4\uac00 \uc81c\uacf5\ud558\ub294 \ud074\ub798\uc2a4\ub4e4\uc744 \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud558\ub294\uc9c0 \uc774\ud574 \ud558\uc600\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c\ub294 \uac1c\ubc1c\uc790\uac00 \uc9c1\uc811 \ud074\ub798\uc2a4\ub97c \ub9cc\ub4dc\ub294 &#8230;<\/p>\n","protected":false},"author":1,"featured_media":965,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[3],"tags":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"&lt; Dart \uae30\ucd08\ubb38\ubc95 - Making Class - Part.1 &gt; \uc774\uc804\uc758 \uae00\uc778 Using Class\ub97c \ud1b5\ud574\uc11c, \ud074\ub798\uc2a4\uac00 \ubb34\uc5c7\uc774\uba70, Dart \uc5b8\uc5b4\uac00 \uc81c\uacf5\ud558\ub294 \ud074\ub798\uc2a4\ub4e4\uc744 \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud558\ub294\uc9c0 \uc774\ud574 \ud558\uc600\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c\ub294 \uac1c\ubc1c\uc790\uac00 \uc9c1\uc811 \ud074\ub798\uc2a4\ub97c \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574\uc11c \uc124\uba85\ud558\uba74\uc11c, \ud074\ub798\uc2a4\uc758 \ubcf4\ub2e4 \uae4a\uc740 \ub0b4\uc6a9\uc5d0 \ub300\ud574\uc11c \uc54c\uc544\uac00\uaca0\uc2b5\ub2c8\ub2e4. \ub2e4\ub978 \uae00 \ub4e4\uacfc \ube44\uad50\ud558\uc5ec \ub0b4\uc6a9\uc774 \ub2e4\uc18c \ubc29\ub300\ud560 \uc218 \uc788\uae30\uc5d0, \ubbf8\ub9ac \ub2e4\ub8e8\uace0\uc790 \ud558\ub294 \ub0b4\uc6a9\uc744 \ub2e4\uc74c\uacfc \uac19\uc774 \ub098\ud0c0\ub0c8\uc2b5\ub2c8\ub2e4.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"drsungwon\"\/>\n\t<link rel=\"canonical\" href=\"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"ko_KR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Welcome to Dr.Sungwon - {alias} devilinus.synology.me\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Dart Programmer \ub418\uae30 [20] - Welcome to Dr.Sungwon\" \/>\n\t\t<meta property=\"og:description\" content=\"&lt; Dart \uae30\ucd08\ubb38\ubc95 - Making Class - Part.1 &gt; \uc774\uc804\uc758 \uae00\uc778 Using Class\ub97c \ud1b5\ud574\uc11c, \ud074\ub798\uc2a4\uac00 \ubb34\uc5c7\uc774\uba70, Dart \uc5b8\uc5b4\uac00 \uc81c\uacf5\ud558\ub294 \ud074\ub798\uc2a4\ub4e4\uc744 \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud558\ub294\uc9c0 \uc774\ud574 \ud558\uc600\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c\ub294 \uac1c\ubc1c\uc790\uac00 \uc9c1\uc811 \ud074\ub798\uc2a4\ub97c \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574\uc11c \uc124\uba85\ud558\uba74\uc11c, \ud074\ub798\uc2a4\uc758 \ubcf4\ub2e4 \uae4a\uc740 \ub0b4\uc6a9\uc5d0 \ub300\ud574\uc11c \uc54c\uc544\uac00\uaca0\uc2b5\ub2c8\ub2e4. \ub2e4\ub978 \uae00 \ub4e4\uacfc \ube44\uad50\ud558\uc5ec \ub0b4\uc6a9\uc774 \ub2e4\uc18c \ubc29\ub300\ud560 \uc218 \uc788\uae30\uc5d0, \ubbf8\ub9ac \ub2e4\ub8e8\uace0\uc790 \ud558\ub294 \ub0b4\uc6a9\uc744 \ub2e4\uc74c\uacfc \uac19\uc774 \ub098\ud0c0\ub0c8\uc2b5\ub2c8\ub2e4.\" \/>\n\t\t<meta property=\"og:url\" content=\"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/\" \/>\n\t\t<meta property=\"og:image\" content=\"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-content\/uploads\/2023\/05\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2023-05-27-\u110b\u1169\u110c\u1165\u11ab-10.46.20-e1685152019984.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"160\" \/>\n\t\t<meta property=\"og:image:height\" content=\"28\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-01T00:00:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-05T09:59:39+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Dart Programmer \ub418\uae30 [20] - Welcome to Dr.Sungwon\" \/>\n\t\t<meta name=\"twitter:description\" content=\"&lt; Dart \uae30\ucd08\ubb38\ubc95 - Making Class - Part.1 &gt; \uc774\uc804\uc758 \uae00\uc778 Using Class\ub97c \ud1b5\ud574\uc11c, \ud074\ub798\uc2a4\uac00 \ubb34\uc5c7\uc774\uba70, Dart \uc5b8\uc5b4\uac00 \uc81c\uacf5\ud558\ub294 \ud074\ub798\uc2a4\ub4e4\uc744 \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud558\ub294\uc9c0 \uc774\ud574 \ud558\uc600\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c\ub294 \uac1c\ubc1c\uc790\uac00 \uc9c1\uc811 \ud074\ub798\uc2a4\ub97c \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574\uc11c \uc124\uba85\ud558\uba74\uc11c, \ud074\ub798\uc2a4\uc758 \ubcf4\ub2e4 \uae4a\uc740 \ub0b4\uc6a9\uc5d0 \ub300\ud574\uc11c \uc54c\uc544\uac00\uaca0\uc2b5\ub2c8\ub2e4. \ub2e4\ub978 \uae00 \ub4e4\uacfc \ube44\uad50\ud558\uc5ec \ub0b4\uc6a9\uc774 \ub2e4\uc18c \ubc29\ub300\ud560 \uc218 \uc788\uae30\uc5d0, \ubbf8\ub9ac \ub2e4\ub8e8\uace0\uc790 \ud558\ub294 \ub0b4\uc6a9\uc744 \ub2e4\uc74c\uacfc \uac19\uc774 \ub098\ud0c0\ub0c8\uc2b5\ub2c8\ub2e4.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-content\/uploads\/2023\/05\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2023-05-27-\u110b\u1169\u110c\u1165\u11ab-10.46.20-e1685152019984.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/06\\\/01\\\/be-dart-programmer-20\\\/#blogposting\",\"name\":\"Dart Programmer \\ub418\\uae30 [20] - Welcome to Dr.Sungwon\",\"headline\":\"Dart Programmer \\ub418\\uae30 [20]\",\"author\":{\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/author\\\/drsungwon\\\/#author\"},\"publisher\":{\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/chapter-20.png\",\"width\":691,\"height\":158},\"datePublished\":\"2020-06-01T09:00:58+09:00\",\"dateModified\":\"2020-04-05T18:59:39+09:00\",\"inLanguage\":\"ko-KR\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/06\\\/01\\\/be-dart-programmer-20\\\/#webpage\"},\"isPartOf\":{\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/06\\\/01\\\/be-dart-programmer-20\\\/#webpage\"},\"articleSection\":\"writing\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/06\\\/01\\\/be-dart-programmer-20\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/category\\\/writing-by-drsungwon\\\/#listItem\",\"name\":\"writing\"}},{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/category\\\/writing-by-drsungwon\\\/#listItem\",\"position\":2,\"name\":\"writing\",\"item\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/category\\\/writing-by-drsungwon\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/06\\\/01\\\/be-dart-programmer-20\\\/#listItem\",\"name\":\"Dart Programmer \\ub418\\uae30 [20]\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/06\\\/01\\\/be-dart-programmer-20\\\/#listItem\",\"position\":3,\"name\":\"Dart Programmer \\ub418\\uae30 [20]\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/category\\\/writing-by-drsungwon\\\/#listItem\",\"name\":\"writing\"}}]},{\"@type\":\"Organization\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/#organization\",\"name\":\"Welcome to Dr.Sungwon\",\"description\":\"{alias} devilinus.synology.me\",\"url\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/\\u1109\\u1173\\u110f\\u1173\\u1105\\u1175\\u11ab\\u1109\\u1163\\u11ba-2023-05-27-\\u110b\\u1169\\u110c\\u1165\\u11ab-10.46.20-e1685152019984.png\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/06\\\/01\\\/be-dart-programmer-20\\\/#organizationLogo\",\"width\":160,\"height\":28},\"image\":{\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/06\\\/01\\\/be-dart-programmer-20\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/author\\\/drsungwon\\\/#author\",\"url\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/author\\\/drsungwon\\\/\",\"name\":\"drsungwon\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/06\\\/01\\\/be-dart-programmer-20\\\/#authorImage\",\"url\":\"http:\\\/\\\/1.gravatar.com\\\/avatar\\\/7e7380e6e6864b43c703530d660d33b4?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"drsungwon\"}},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/06\\\/01\\\/be-dart-programmer-20\\\/#webpage\",\"url\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/06\\\/01\\\/be-dart-programmer-20\\\/\",\"name\":\"Dart Programmer \\ub418\\uae30 [20] - Welcome to Dr.Sungwon\",\"description\":\"< Dart \\uae30\\ucd08\\ubb38\\ubc95 - Making Class - Part.1 > \\uc774\\uc804\\uc758 \\uae00\\uc778 Using Class\\ub97c \\ud1b5\\ud574\\uc11c, \\ud074\\ub798\\uc2a4\\uac00 \\ubb34\\uc5c7\\uc774\\uba70, Dart \\uc5b8\\uc5b4\\uac00 \\uc81c\\uacf5\\ud558\\ub294 \\ud074\\ub798\\uc2a4\\ub4e4\\uc744 \\uc5b4\\ub5bb\\uac8c \\uc0ac\\uc6a9\\ud558\\ub294\\uc9c0 \\uc774\\ud574 \\ud558\\uc600\\uc2b5\\ub2c8\\ub2e4. \\uc774 \\uae00\\uc5d0\\uc11c\\ub294 \\uac1c\\ubc1c\\uc790\\uac00 \\uc9c1\\uc811 \\ud074\\ub798\\uc2a4\\ub97c \\ub9cc\\ub4dc\\ub294 \\ubc29\\ubc95\\uc5d0 \\ub300\\ud574\\uc11c \\uc124\\uba85\\ud558\\uba74\\uc11c, \\ud074\\ub798\\uc2a4\\uc758 \\ubcf4\\ub2e4 \\uae4a\\uc740 \\ub0b4\\uc6a9\\uc5d0 \\ub300\\ud574\\uc11c \\uc54c\\uc544\\uac00\\uaca0\\uc2b5\\ub2c8\\ub2e4. \\ub2e4\\ub978 \\uae00 \\ub4e4\\uacfc \\ube44\\uad50\\ud558\\uc5ec \\ub0b4\\uc6a9\\uc774 \\ub2e4\\uc18c \\ubc29\\ub300\\ud560 \\uc218 \\uc788\\uae30\\uc5d0, \\ubbf8\\ub9ac \\ub2e4\\ub8e8\\uace0\\uc790 \\ud558\\ub294 \\ub0b4\\uc6a9\\uc744 \\ub2e4\\uc74c\\uacfc \\uac19\\uc774 \\ub098\\ud0c0\\ub0c8\\uc2b5\\ub2c8\\ub2e4.\",\"inLanguage\":\"ko-KR\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/06\\\/01\\\/be-dart-programmer-20\\\/#breadcrumblist\"},\"author\":{\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/author\\\/drsungwon\\\/#author\"},\"creator\":{\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/author\\\/drsungwon\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/chapter-20.png\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/06\\\/01\\\/be-dart-programmer-20\\\/#mainImage\",\"width\":691,\"height\":158},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/06\\\/01\\\/be-dart-programmer-20\\\/#mainImage\"},\"datePublished\":\"2020-06-01T09:00:58+09:00\",\"dateModified\":\"2020-04-05T18:59:39+09:00\"},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/#website\",\"url\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/\",\"name\":\"Welcome to Dr.Sungwon\",\"description\":\"{alias} devilinus.synology.me\",\"inLanguage\":\"ko-KR\",\"publisher\":{\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Dart Programmer \ub418\uae30 [20] - Welcome to Dr.Sungwon","description":"< Dart \uae30\ucd08\ubb38\ubc95 - Making Class - Part.1 > \uc774\uc804\uc758 \uae00\uc778 Using Class\ub97c \ud1b5\ud574\uc11c, \ud074\ub798\uc2a4\uac00 \ubb34\uc5c7\uc774\uba70, Dart \uc5b8\uc5b4\uac00 \uc81c\uacf5\ud558\ub294 \ud074\ub798\uc2a4\ub4e4\uc744 \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud558\ub294\uc9c0 \uc774\ud574 \ud558\uc600\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c\ub294 \uac1c\ubc1c\uc790\uac00 \uc9c1\uc811 \ud074\ub798\uc2a4\ub97c \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574\uc11c \uc124\uba85\ud558\uba74\uc11c, \ud074\ub798\uc2a4\uc758 \ubcf4\ub2e4 \uae4a\uc740 \ub0b4\uc6a9\uc5d0 \ub300\ud574\uc11c \uc54c\uc544\uac00\uaca0\uc2b5\ub2c8\ub2e4. \ub2e4\ub978 \uae00 \ub4e4\uacfc \ube44\uad50\ud558\uc5ec \ub0b4\uc6a9\uc774 \ub2e4\uc18c \ubc29\ub300\ud560 \uc218 \uc788\uae30\uc5d0, \ubbf8\ub9ac \ub2e4\ub8e8\uace0\uc790 \ud558\ub294 \ub0b4\uc6a9\uc744 \ub2e4\uc74c\uacfc \uac19\uc774 \ub098\ud0c0\ub0c8\uc2b5\ub2c8\ub2e4.","canonical_url":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/#blogposting","name":"Dart Programmer \ub418\uae30 [20] - Welcome to Dr.Sungwon","headline":"Dart Programmer \ub418\uae30 [20]","author":{"@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/author\/drsungwon\/#author"},"publisher":{"@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/#organization"},"image":{"@type":"ImageObject","url":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-content\/uploads\/2020\/06\/chapter-20.png","width":691,"height":158},"datePublished":"2020-06-01T09:00:58+09:00","dateModified":"2020-04-05T18:59:39+09:00","inLanguage":"ko-KR","mainEntityOfPage":{"@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/#webpage"},"isPartOf":{"@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/#webpage"},"articleSection":"writing"},{"@type":"BreadcrumbList","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress#listItem","position":1,"name":"Home","item":"http:\/\/mobilelab.khu.ac.kr\/wordpress","nextItem":{"@type":"ListItem","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/category\/writing-by-drsungwon\/#listItem","name":"writing"}},{"@type":"ListItem","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/category\/writing-by-drsungwon\/#listItem","position":2,"name":"writing","item":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/category\/writing-by-drsungwon\/","nextItem":{"@type":"ListItem","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/#listItem","name":"Dart Programmer \ub418\uae30 [20]"},"previousItem":{"@type":"ListItem","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/#listItem","position":3,"name":"Dart Programmer \ub418\uae30 [20]","previousItem":{"@type":"ListItem","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/category\/writing-by-drsungwon\/#listItem","name":"writing"}}]},{"@type":"Organization","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/#organization","name":"Welcome to Dr.Sungwon","description":"{alias} devilinus.synology.me","url":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/","logo":{"@type":"ImageObject","url":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-content\/uploads\/2023\/05\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2023-05-27-\u110b\u1169\u110c\u1165\u11ab-10.46.20-e1685152019984.png","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/#organizationLogo","width":160,"height":28},"image":{"@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/#organizationLogo"}},{"@type":"Person","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/author\/drsungwon\/#author","url":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/author\/drsungwon\/","name":"drsungwon","image":{"@type":"ImageObject","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/#authorImage","url":"http:\/\/1.gravatar.com\/avatar\/7e7380e6e6864b43c703530d660d33b4?s=96&d=mm&r=g","width":96,"height":96,"caption":"drsungwon"}},{"@type":"WebPage","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/#webpage","url":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/","name":"Dart Programmer \ub418\uae30 [20] - Welcome to Dr.Sungwon","description":"< Dart \uae30\ucd08\ubb38\ubc95 - Making Class - Part.1 > \uc774\uc804\uc758 \uae00\uc778 Using Class\ub97c \ud1b5\ud574\uc11c, \ud074\ub798\uc2a4\uac00 \ubb34\uc5c7\uc774\uba70, Dart \uc5b8\uc5b4\uac00 \uc81c\uacf5\ud558\ub294 \ud074\ub798\uc2a4\ub4e4\uc744 \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud558\ub294\uc9c0 \uc774\ud574 \ud558\uc600\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c\ub294 \uac1c\ubc1c\uc790\uac00 \uc9c1\uc811 \ud074\ub798\uc2a4\ub97c \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574\uc11c \uc124\uba85\ud558\uba74\uc11c, \ud074\ub798\uc2a4\uc758 \ubcf4\ub2e4 \uae4a\uc740 \ub0b4\uc6a9\uc5d0 \ub300\ud574\uc11c \uc54c\uc544\uac00\uaca0\uc2b5\ub2c8\ub2e4. \ub2e4\ub978 \uae00 \ub4e4\uacfc \ube44\uad50\ud558\uc5ec \ub0b4\uc6a9\uc774 \ub2e4\uc18c \ubc29\ub300\ud560 \uc218 \uc788\uae30\uc5d0, \ubbf8\ub9ac \ub2e4\ub8e8\uace0\uc790 \ud558\ub294 \ub0b4\uc6a9\uc744 \ub2e4\uc74c\uacfc \uac19\uc774 \ub098\ud0c0\ub0c8\uc2b5\ub2c8\ub2e4.","inLanguage":"ko-KR","isPartOf":{"@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/#website"},"breadcrumb":{"@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/#breadcrumblist"},"author":{"@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/author\/drsungwon\/#author"},"creator":{"@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/author\/drsungwon\/#author"},"image":{"@type":"ImageObject","url":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-content\/uploads\/2020\/06\/chapter-20.png","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/#mainImage","width":691,"height":158},"primaryImageOfPage":{"@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/#mainImage"},"datePublished":"2020-06-01T09:00:58+09:00","dateModified":"2020-04-05T18:59:39+09:00"},{"@type":"WebSite","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/#website","url":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/","name":"Welcome to Dr.Sungwon","description":"{alias} devilinus.synology.me","inLanguage":"ko-KR","publisher":{"@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/#organization"}}]},"og:locale":"ko_KR","og:site_name":"Welcome to Dr.Sungwon - {alias} devilinus.synology.me","og:type":"article","og:title":"Dart Programmer \ub418\uae30 [20] - Welcome to Dr.Sungwon","og:description":"&lt; Dart \uae30\ucd08\ubb38\ubc95 - Making Class - Part.1 &gt; \uc774\uc804\uc758 \uae00\uc778 Using Class\ub97c \ud1b5\ud574\uc11c, \ud074\ub798\uc2a4\uac00 \ubb34\uc5c7\uc774\uba70, Dart \uc5b8\uc5b4\uac00 \uc81c\uacf5\ud558\ub294 \ud074\ub798\uc2a4\ub4e4\uc744 \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud558\ub294\uc9c0 \uc774\ud574 \ud558\uc600\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c\ub294 \uac1c\ubc1c\uc790\uac00 \uc9c1\uc811 \ud074\ub798\uc2a4\ub97c \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574\uc11c \uc124\uba85\ud558\uba74\uc11c, \ud074\ub798\uc2a4\uc758 \ubcf4\ub2e4 \uae4a\uc740 \ub0b4\uc6a9\uc5d0 \ub300\ud574\uc11c \uc54c\uc544\uac00\uaca0\uc2b5\ub2c8\ub2e4. \ub2e4\ub978 \uae00 \ub4e4\uacfc \ube44\uad50\ud558\uc5ec \ub0b4\uc6a9\uc774 \ub2e4\uc18c \ubc29\ub300\ud560 \uc218 \uc788\uae30\uc5d0, \ubbf8\ub9ac \ub2e4\ub8e8\uace0\uc790 \ud558\ub294 \ub0b4\uc6a9\uc744 \ub2e4\uc74c\uacfc \uac19\uc774 \ub098\ud0c0\ub0c8\uc2b5\ub2c8\ub2e4.","og:url":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/","og:image":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-content\/uploads\/2023\/05\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2023-05-27-\u110b\u1169\u110c\u1165\u11ab-10.46.20-e1685152019984.png","og:image:width":160,"og:image:height":28,"article:published_time":"2020-06-01T00:00:58+00:00","article:modified_time":"2020-04-05T09:59:39+00:00","twitter:card":"summary_large_image","twitter:title":"Dart Programmer \ub418\uae30 [20] - Welcome to Dr.Sungwon","twitter:description":"&lt; Dart \uae30\ucd08\ubb38\ubc95 - Making Class - Part.1 &gt; \uc774\uc804\uc758 \uae00\uc778 Using Class\ub97c \ud1b5\ud574\uc11c, \ud074\ub798\uc2a4\uac00 \ubb34\uc5c7\uc774\uba70, Dart \uc5b8\uc5b4\uac00 \uc81c\uacf5\ud558\ub294 \ud074\ub798\uc2a4\ub4e4\uc744 \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud558\ub294\uc9c0 \uc774\ud574 \ud558\uc600\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c\ub294 \uac1c\ubc1c\uc790\uac00 \uc9c1\uc811 \ud074\ub798\uc2a4\ub97c \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574\uc11c \uc124\uba85\ud558\uba74\uc11c, \ud074\ub798\uc2a4\uc758 \ubcf4\ub2e4 \uae4a\uc740 \ub0b4\uc6a9\uc5d0 \ub300\ud574\uc11c \uc54c\uc544\uac00\uaca0\uc2b5\ub2c8\ub2e4. \ub2e4\ub978 \uae00 \ub4e4\uacfc \ube44\uad50\ud558\uc5ec \ub0b4\uc6a9\uc774 \ub2e4\uc18c \ubc29\ub300\ud560 \uc218 \uc788\uae30\uc5d0, \ubbf8\ub9ac \ub2e4\ub8e8\uace0\uc790 \ud558\ub294 \ub0b4\uc6a9\uc744 \ub2e4\uc74c\uacfc \uac19\uc774 \ub098\ud0c0\ub0c8\uc2b5\ub2c8\ub2e4.","twitter:image":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-content\/uploads\/2023\/05\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2023-05-27-\u110b\u1169\u110c\u1165\u11ab-10.46.20-e1685152019984.png"},"aioseo_meta_data":{"post_id":"515","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-05-30 23:49:29","updated":"2025-12-16 23:35:38","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"http:\/\/mobilelab.khu.ac.kr\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"http:\/\/mobilelab.khu.ac.kr\/wordpress\/category\/writing-by-drsungwon\/\" title=\"writing\">writing<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tDart Programmer \ub418\uae30 [20]\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"http:\/\/mobilelab.khu.ac.kr\/wordpress"},{"label":"writing","link":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/category\/writing-by-drsungwon\/"},{"label":"Dart Programmer \ub418\uae30 [20]","link":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/06\/01\/be-dart-programmer-20\/"}],"_links":{"self":[{"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts\/515"}],"collection":[{"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/comments?post=515"}],"version-history":[{"count":15,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts\/515\/revisions"}],"predecessor-version":[{"id":966,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts\/515\/revisions\/966"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/media\/965"}],"wp:attachment":[{"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/media?parent=515"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/categories?post=515"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/tags?post=515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}