{"id":315,"date":"2020-02-17T09:00:55","date_gmt":"2020-02-17T00:00:55","guid":{"rendered":"http:\/\/mobilelab.khu.ac.kr\/?p=315"},"modified":"2020-04-04T21:56:47","modified_gmt":"2020-04-04T12:56:47","slug":"be-dart-programmer-05","status":"publish","type":"post","link":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/02\/17\/be-dart-programmer-05\/","title":{"rendered":"Dart Programmer \ub418\uae30 [05]"},"content":{"rendered":"\n<h4>&lt; C++ \ud504\ub85c\uadf8\ub798\uba38\ub97c \uc704\ud55c Quick Summary Part.2 &gt;<\/h4>\n\n\n\n<p>\uc9c0\ub09c Part.1\uc5d0\uc11c\ub294 \uc5b4\ub5a4 \uc5b8\uc5b4\ub4e0 \uac00\uc9c0\uace0 \uc788\ub294 \uae30\ucd08\uc801\uc778 \ubb38\ubc95\uc5d0 \ub300\ud574\uc11c, Dart\uc640 C++\uac04\uc5d0 \uc720\uc0ac\ud55c \ubd80\ubd84\uc774 \ub9ce\ub2e4\ub294 \uac83\uc744 \ud655\uc778\ud588\uc2b5\ub2c8\ub2e4. \uc774\ubc88 \uae00\uc5d0\uc11c\ub294 \ud074\ub798\uc2a4, \uc608\uc678\ucc98\ub9ac\uc640 \ud568\uaed8 \ube44\ub3d9\uae30\uc801 \ub3d9\uc791\uc5d0 \ub300\ud574\uc11c \uc124\uba85\ud569\ub2c8\ub2e4. \uc774\ub97c \uc704\ud574\uc11c Dart \uacf5\uc2dd \ud648\ud398\uc774\uc9c0\uc5d0 \uc788\ub294 \uac04\ub2e8\ud55c \uc608\uc81c \ub4e4\uc744 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4 [<a href=\"https:\/\/dart.dev\/samples\">\ucd9c\ucc98<\/a>: Dart \uacf5\uc2dd \ud648\ud398\uc774\uc9c0\uc758 Language samples].<\/p>\n\n\n\n<h4>Class<\/h4>\n\n\n\n<p>\uc774 \uae00\uc5d0\uc11c \ub2e4\ub8f0 \uba54\uc778 \uc8fc\uc81c\ub294 Dart\uc758 \ud074\ub798\uc2a4 \uc785\ub2c8\ub2e4. Part.1\uc758 \uae30\ucd08 \ubb38\ubc95\uc740 Dart\uc640 C++\uc774 \ud06c\uac8c \ub2e4\ub974\uc9c0 \uc54a\uc558\uc9c0\ub9cc, \ud074\ub798\uc2a4\uc5d0\ub294 \ub450 \uc5b8\uc5b4\uac00 \ub2e4\uc18c \ucc28\uc774\uac00 \uc788\ub294 \ud3b8\uc785\ub2c8\ub2e4. Dart\uc758 \ud074\ub798\uc2a4\uc5d0 \ub300\ud574\uc11c\ub294 \ud5a5\ud6c4 \uc790\uc138\ud558\uac8c \ub2e4\ub8f0 \uc608\uc815\uc774\ubbc0\ub85c, \uc5ec\uae30\uc11c\ub294 Dart\uc758 \ud074\ub798\uc2a4\uc758 \uc8fc\uc694 \uae30\ub2a5\uc744 \uc9e7\uac8c \uc0b4\ud3b4\ubcf4\uae30\ub85c \ud569\ub2c8\ub2e4. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"550\" height=\"688\" src=\"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-content\/uploads\/2020\/01\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2020-01-24-\u110b\u1169\u1112\u116e-9.40.09.png\" alt=\"\" class=\"wp-image-320\" srcset=\"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-content\/uploads\/2020\/01\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2020-01-24-\u110b\u1169\u1112\u116e-9.40.09.png 550w, http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-content\/uploads\/2020\/01\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2020-01-24-\u110b\u1169\u1112\u116e-9.40.09-240x300.png 240w, http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-content\/uploads\/2020\/01\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2020-01-24-\u110b\u1169\u1112\u116e-9.40.09-480x600.png 480w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><figcaption>[\uadf8\ub9bc 1] Dart\ub97c \uc774\uc6a9\ud55c Spacecraft \ud074\ub798\uc2a4 \uc608\uc81c (\ucd9c\ucc98: dart.dev)<\/figcaption><\/figure>\n\n\n\n<p>\ud074\ub798\uc2a4\ub97c \uc2dc\uc791\uacfc \ub05d\uc778 1\ubc88\uacfc 28\ubc88 \ub77c\uc778\uc740 C++\uacfc \ub3d9\uc77c\ud569\ub2c8\ub2e4. Class aggregation\uc744 \uc704\ud55c 2\uc640 3\ubc88 \ub77c\uc778\ub3c4 \ub3d9\uc77c\ud569\ub2c8\ub2e4. Dart\uc758 \ud074\ub798\uc2a4\ub3c4 C++\uacfc \ub3d9\uc77c\ud558\uac8c constructor\ub97c \uac00\uc9c0\uba70, C++\uacfc \uc720\uc0ac\ud55c \ubc29\uc2dd\uc758 constructor\uac00 6\ubc88~8\ubc88 \ub77c\uc778\uc5d0 \ub098\ud0c0\ub098 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uae30\uc11c 6\ubc88 \ub77c\uc778\uc744 \ubcf4\uba74, C++\ucc98\ub7fc this \ubb38\ubc95\uc774 \uc788\ub294 \uac83\uc744 \ubcfc \uc218 \uc788\uc73c\uba70, \uc758\ubbf8\ub294 C++\uacfc \uc720\uc0ac\ud558\ub2e4. \uc785\ub825 \ud30c\ub77c\uba54\ud0c0 \ubd80\ubd84\uc5d0\uc11c this\uc5d0 &#8216;.&#8217; \uc5f0\uc0b0\uc790\ub97c \uc0ac\uc6a9\ud568\uc73c\ub85c\uc368, \uc785\ub825 \ubc1b\uc740 \ub450\uac1c\uc758 \ud30c\ub77c\uba54\ud0c0\ub97c \uac1d\uccb4 \uc790\uc2e0\uc758 \uba64\ubc84 \ubcc0\uc218\uc5d0 \uac01\uac01 \ub300\uc751\ud558\ub294 \uac83\uc73c\ub85c \ub3d9\uc791\ud569\ub2c8\ub2e4. 31\ubc88 \ub77c\uc778\uc5d0\uc11c, \uc774 \ubc29\ubc95\uc744 \uc0ac\uc6a9\ud55c constructor \ud65c\uc6a9 \uc608\uc81c\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uccab\ubc88\uc9f8 \ubb38\uc790\uc5f4\uc740 Spacecraft \ud074\ub798\uc2a4 \uae30\ubc18 voyager \uac1d\uccb4\uc758 \uba64\ubc84 \ubcc0\uc218\uc778 name\uc5d0 \ub9e4\ud551\ub418\uba70, \ub450\ubc88\uc9f8 DateTime \uac1d\uccb4\ub294 \uba64\ubc84 \ubcc0\uc218\uc778 launchDate\uc5d0 \ub9e4\ud551\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<p>Dart\ub294 \ub2e4\ub978 \ubc29\ubc95\uc758 contructor\ub85c\uc368, named constructor\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uadf8\ub9bc\uc758 11\ubc88 \ub77c\uc778\uc5d0 \uc788\ub294 \uac83\uc73c\ub85c\uc11c, \ud074\ub798\uc2a4\uc758 \uc774\ub984\uc5d0 &#8216;.&#8217; \uc5f0\uc0ac\uc790\ub97c \uc120\uc5b8\ud558\ub294 \ubd80\ubd84\uc5d0\uc11c \uc0ac\uc6a9\ud55c \ud6c4, constructor\ub85c \uc0ac\uc6a9\ud560 \ud568\uc218 \uc774\ub984\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ud604\uc7ac \uc774 constructor\ub294 unlaunched \uc774\uba70, \uc785\ub825 \ud30c\ub77c\uba54\ud0c0\ub97c \ubb38\uc790\uc5f4\ub85c \ud558\ub098 \ubc1b\uc2b5\ub2c8\ub2e4. \uc774\ub807\uac8c \ubc1b\uc740 \uc774\ub984\uc744 \uac00\uc9c0\uace0 \uba64\ubc84 \ubcc0\uc218\uc778 name\uc744 \ucc44\uc6b0\uace0, \uba64\ubc84 \ubcc0\uc218\uc778 launchDate\ub294 null\ub85c \ucc44\uc6b0\ub294 \uac83\uc744 &#8220;: this(name, null)&#8221; \ubb38\ubc95\uc744 \ud1b5\ud574\uc11c \uc218\ud589\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ubc29\ubc95\uc744 \uc0ac\uc6a9\ud55c constructor \ud65c\uc6a9 \uc608\uc81c\uac00 35\ubc88 \ub77c\uc778\uc5d0 \uc788\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<p>\ud074\ub798\uc2a4 \ub0b4\ubd80\uc758 \uba64\ubc84 \ud568\uc218\ub294 C++\uacfc \uc720\uc0ac\ud55c \ubc29\ubc95\uc73c\ub85c \ub9cc\ub4e4\uba70, 18\ubc88 ~ 27\ubc88 \ub77c\uc778\uc5d0\uc11c return \uac12\uc740 \uc5c6\uace0 (void), \uc785\ub825 \uac12\ub3c4 \uc5c6\ub294 describe()\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ud568\uc218\uc758 \uae30\ub2a5\uc744 \uc124\uba85 \ud558\uba74, \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. C++ \uac1c\ubc1c\uc790\ub294 \uac01 \ub77c\uc778\uc744 \uc720\ucd94\ud560 \uc218 \uc788\uc744 \ud150\ub370, Dart\uac00 C++\uacfc \ub2e4\ub978 \ubd80\ubd84 \uc911\uc2ec\uc73c\ub85c \uc124\uba85\ud569\ub2c8\ub2e4. 18\ubc88 \ub77c\uc778\uc5d0\uc11c\ub294 \ud074\ub798\uc2a4 \uc774\ub984\uacfc \uac1d\uccb4 \uc774\ub984\uc744 \ucd9c\ub825\ud558\ub294\ub370, print \uad6c\ubb38\uc758 \ubb38\uc790\uc5f4 \uc548\uc5d0 $ \uae30\ud638\ub97c \uc8fc\uba74, \ud574\ub2f9 \uae30\ud638 \ub4a4\uc758 \ubcc0\uc218 \uc774\ub984\uc744 \ucd9c\ub825\ud569\ub2c8\ub2e4. 22\ubc88 \ub77c\uc778\uc5d0\uc11c\uc758 ~\/ \uc5f0\uc0b0\uc790\ub294 21\ubc88 \ub77c\uc778\uc758 \uc8fc\uc11d\ubb38\uc744 \uc77d\uc5b4 \ubcf4\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c 13\ubc88\uacfc 14\ubc88 \ub77c\uc778\uc758 \uc124\uba85\uc785\ub2c8\ub2e4. =&gt; \ud654\uc0b4\ud45c \ubb38\ubc95\uc744 \ud1b5\ud574\uc11c \uc77c\uc885\uc758 \ud568\uc218\uc778 \uac83\uc73c\ub85c \uc720\ucd94\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uae30\uc11c \ud575\uc2ec\uc740 get \ubb38\ubc95\uc73c\ub85c\uc11c, \uc774\ub294 launchYear \ub77c\ub294 \uc774\ub984\uc758 getter \ud568\uc218\ub97c \uc120\uc5b8\ud558\ub294 \uac83\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4. 33\ubc88\uacfc 37\ubc88 \ub77c\uc778\uc744 \ubcf4\uba74, \ud568\uc218\ub97c \uc758\ubbf8\ud558\ub294 () \uae30\ud638\ub294 \uc5c6\uc9c0\ub9cc, \uac1d\uccb4 \ub0b4\ubd80\uc758 \uac12\uc744 \uaebc\ub0b4 \uc624\ub294 \uac83\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. 14\ubc88 \ub77c\uc778\uc5d0\uc11c launchDate?.year\uc758 \uc758\ubbf8\ub294, launchDate\uac00 null\uc774 \uc544\ub2cc \uacbd\uc6b0, launchDate\uc758 \uba64\ubc84\uc778 year \uac12\uc744 \ucd94\ucd9c\ud558\ub294 \uac83\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4. \uc544\ub798\ub294 \uc704\uc758 \ud504\ub85c\uadf8\ub7a8\uc744 \uc218\ud589\ud55c \uacb0\uacfc \uc785\ub2c8\ub2e4. \uc774\ud574\ud55c \uacb0\uacfc\uc640 \ub3d9\uc77c\ud55c\uc9c0 \ud655\uc778\ud574 \ubcf4\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Spacecraft: Voyager I\nLaunched: 1977 (42 years ago)\n1977\nSpacecraft: Voyager III\nUnlaunched\nnull<\/pre>\n\n\n\n<h4>Inheritance<\/h4>\n\n\n\n<p>Dart\uc758 \uc720\uc804\uc758 \ubc95\uce59\uc740 single inheritance\uc774\ub2e4. \ub2e4\uc218\uc758 base class\ub85c \ubd80\ud130 derived class\ub97c \ub9cc\ub4e4 \uc218 \uc788\ub294 C++\uacfc \ucc28\uc774\uac00 \uc788\uc2b5\ub2c8\ub2e4. C++\uc5d0\uc11c inheritance\ub97c \uc758\ubbf8\ud558\ub294 &#8216;:&#8217;\uc5d0 \ud574\ub2f9\ud558\ub294 Dart\uc758 \ubb38\ubc95\uc740 &#8216;extends&#8217; \uc785\ub2c8\ub2e4. \uc55e\uc11c [\uadf8\ub9bc 1]\uc758 Spacecraft \ud074\ub798\uc2a4\ub97c base class\ub85c \ud558\uc5ec Orbiter \ud074\ub798\uc2a4\ub97c \ub9cc\ub4dc\ub294 \uc608\uc81c\uac00 \uc544\ub798\uc5d0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Orbiter extends Spacecraft {\n  num altitude;\n  Orbiter(String name, DateTime launchDate, this.altitude)\n      : super(name, launchDate);\n}<\/pre>\n\n\n\n<p>extends \ubb38\ubc95\uc744 \uc81c\uc678\ud558\uba74, \ub2e4\ub978 \ubd80\ubd84\uc740 C++\uacfc \uc720\uc0ac\ud55c \ud615\ud0dc\ub85c \ucda9\ubd84\ud788 \uc720\ucd94 \uac00\ub2a5\ud558\ub9ac\ub77c \uc0dd\uac01\ud569\ub2c8\ub2e4. \uc77c\ub2e8 derived class\uc5d0\ub294 \uc0c8\ub85c\uc6b4 \uba64\ubc84 \ubcc0\uc218\uc778 altitude \ub77c\ub294 \uc774\ub984\uc758 num \ud0c0\uc785 \uac1d\uccb4\uc784\uc744 \uc54c \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \ud074\ub798\uc2a4 \uc774\ub984\uacfc \uac19\uc740 \uc774\ub984\uc758 constructor\uac00 \uc788\uc73c\uba70, 3\uac1c\uc758 \uc785\ub825 \ud30c\ub77c\uba54\ud0c0\ub97c \ubc1b\uc73c\uba74, name\uacfc launchDate\ub294 base class \ub0b4\ubd80\uc758 \uba64\ubc84 \ubcc0\uc218\ub85c \uc804\ub2ec\ud558\uac8c \ub418\uba70, \uc0c8\ub86d\uac8c \ub9cc\ub4e4\uc5b4\uc9c4 altitude \ubcc0\uc218\ub97c \uc0c8\ubc88\uc9f8 \uc785\ub825 \ud30c\ub77c\uba54\ud0c0 \uac12\uc73c\ub85c \uc800\uc7a5\ud558\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<h4>Mixins<\/h4>\n\n\n\n<p>Dart\ub294 base class\uac00 \ud558\ub098\ub9cc \uc874\uc7ac\ud574\uc57c \ud558\uc9c0\ub9cc, C++\uc5d0\uc11c base class\uac00 \ub2e4\uc218\uc778 \ud6a8\uacfc\ub97c \uc720\uc0ac\ud558\uac8c \ub9cc\ub4e4\uc218 \uc788\ub294 \ubb38\ubc95\uc778 mixins \uae30\ubc95\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub54c \uc0ac\uc6a9\ud558\ub294 \ubb38\ubc95\uc740 &#8216;with&#8217; \uc774\uba70, \ud1b5\uc0c1 inheritance\ub97c \ud558\ub294 &#8216;extends&#8217; \uad6c\ubb38\uacfc \ud568\uaed8 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc544\ub798\ub294 \uc55e\uc11c \ub9cc\ub4e0 Spacecraft \ud074\ub798\uc2a4\ub97c base class\ub85c \ud574\uc11c, derived class\uc778 PilotedCraft\ub97c \ub9cc\ub4dc\ub294 \uc608\uc81c\ub97c \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. \uc774\ub54c Piloted \ud074\ub798\uc2a4\ub97c &#8216;with&#8217; \ubb38\ubc95\uc73c\ub85c \uc5ee\uc5b4\uc90c\uc73c\ub85c\uc368, PilotedCraft \ud074\ub798\uc2a4\ub294 base class\uc758 \ub370\uc774\ud0c0\uc640 \uba54\uc18c\ub4dc\uc678\uc5d0, Piloted \ud074\ub798\uc2a4\uc758 \uba64\ubc84 \ubcc0\uc218\uc778 astronauts\uc640 \uba64\ubc84 \uba54\uc18c\ub4dc\uc778 describeCrew()\ub97c \ucd94\uac00\ub85c \uac16\uac8c \ub429\ub2c8\ub2e4. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"563\" height=\"867\" src=\"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-content\/uploads\/2020\/01\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2020-01-24-\u110b\u1169\u1112\u116e-10.28.05.png\" alt=\"\" class=\"wp-image-321\" srcset=\"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-content\/uploads\/2020\/01\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2020-01-24-\u110b\u1169\u1112\u116e-10.28.05.png 563w, http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-content\/uploads\/2020\/01\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2020-01-24-\u110b\u1169\u1112\u116e-10.28.05-195x300.png 195w, http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-content\/uploads\/2020\/01\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2020-01-24-\u110b\u1169\u1112\u116e-10.28.05-480x739.png 480w\" sizes=\"(max-width: 563px) 100vw, 563px\" \/><figcaption>[\uadf8\ub9bc 2] Mixins \ubb38\ubc95\uc744 \ud1b5\ud55c C++\uc758 Multiple Inheritance\uc640 \uc720\uc0ac\ud55c \uae30\ub2a5\uc758 \uad6c\ud604 \uc608\uc81c<\/figcaption><\/figure>\n\n\n\n<p>\uadf8\ub9bc 2\uc758 \ud504\ub85c\uadf8\ub7a8\uc744 \uc2e4\ud589\ud558\uba74\uc11c, PilotedCraft \ud074\ub798\uc2a4\ub85c \ub9cc\ub4e0 pCraft \uac1d\uccb4 \uc548\uc5d0, Spacecraft \ud074\ub798\uc2a4\uc640 Piloted \ud074\ub798\uc2a4\uc758 \ub370\uc774\ud0c0 \ubc0f \uba54\uc18c\ub4dc\uac00 \ud568\uaed8 \ud3ec\ud568\ub418\uc5b4 \uc788\ub294 \uac83\uc744 \ud655\uc778 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uc758 \uc2e4\ud589 \uacb0\uacfc\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Spacecraft: Voyager I\nLaunched: 1977 (42 years ago)\n1977\nNumber of astronauts: 1<\/pre>\n\n\n\n<h4>Abstract class, Overload, Override &amp; Implements<\/h4>\n\n\n\n<p>Dart\uc5d0\uc11c\ub3c4 C++\uc758 abstract class\ub97c base class\ub85c \uac16\ub294 derived class\uc758 \uac1c\ub150\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uadf8\ub9ac\uace0 base class\uc758 method\ub97c derived class\uc5d0\uc11c overloading \ud558\uac70\ub098 override \ud558\ub294 \uac83\ub3c4 \uac00\ub2a5\ud569\ub2c8\ub2e4. \uc774\uc5d0 \ub300\ud55c \uc0ac\ud56d\uc740 \ud5a5\ud6c4 Dart\uc758 \ud074\ub798\uc2a4 \ubb38\ubc95\uc744 \uc124\uba85\ud558\uba74\uc11c \uc790\uc138\ud558\uac8c \uc124\uba85\ud558\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4. \uacb0\ub860\uc801\uc73c\ub85c Dart\uc758 \ud074\ub798\uc2a4\ub294 C++\uc758 \ud074\ub798\uc2a4\uc640 \uac19\uc740 \ubd80\ubd84\ub3c4 \uc788\uc9c0\ub9cc, \ucc28\uc774\uac00 \ub098\ub294 \ubd80\ubd84\ub3c4 \uc874\uc7ac\ud569\ub2c8\ub2e4. C++\uc740 \uc81c\uc678\ud55c \ub300\ubd80\ubd84\uc758 \uac1d\uccb4\uc9c0\ud5a5 \uc5b8\uc5b4\uc5d0\uc11c \ubcf5\uc218\uc758 base class\ub97c \uac16\uc9c0 \ubabb\ud558\ub3c4\ub85d \ud558\uac70\ub098, \uac00\ub2a5\ud558\ub354\ub77c\ub3c4 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub3c4\ub85d \uad8c\uace0\ud558\ub294 \uac83\uc744 \ubcf8\ub2e4\uba74, Dart\uc758 \ud074\ub798\uc2a4\ub294 \ucd5c\uadfc \uc5b8\uc5b4\ub4e4\uc758 \ud2b9\uc9d5\uc5d0 \ubd80\ud569\ud55c\ub2e4\uace0 \ubcfc\uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<h4>Exception Handling<\/h4>\n\n\n\n<p>Dart\ub294 C++\uacfc \uac70\uc758 \ub3d9\uc77c\ud55c exception handling \ubb38\ubc95\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc989, try, catch, throw, rethrow\uc758 \ubb38\ubc95\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. <\/p>\n\n\n\n<h4>Async<\/h4>\n\n\n\n<p>\ud1b5\uc0c1 \ub3d9\uae30\uc2dd\uc73c\ub85c \ub3d9\uc791\ud55c\ub2e4\ub294 \uac83\uc740, A\uc791\uc5c5\uc774 \uc2e4\ud589\ub418\ub294 \ub3d9\uc548\uc5d0 B\uc791\uc5c5\uc774 \uc791\uc5c5\uc744 \ubabb\ud558\uace0, A\uc791\uc5c5\uc758 \uacb0\uacfc\uac00 \uc885\ub8cc \ub418\uae30\ub9cc\uc744 \uae30\ub2e4\ub9ac\ub294 \uae30\ub2e4\ub9ac\ub294 \ubb38\uc81c\uc810\uc774 \ubc1c\uc0dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ube44\ub3d9\uae30\uc2dd \ubc29\uc2dd\uc740 A\uc791\uc5c5\uc774 \uc9c4\ud589\ub418\uace0 \uc788\ub294 \ub3d9\uc548\uc5d0, \uc77c\ub2e8 B\uc791\uc5c5\uc744 \ubcd1\ub82c\ub85c \ucc98\ub9ac\ud558\ub2e4\uac00, A\uc791\uc5c5\uc774 \ub9c8\uccd0\uc9c0\uba74 \uc774\uc5d0 \ub300\ud55c \ud6c4\uc18d \uc870\uce58\ub97c \uc9c4\ud589\ud568\uc73c\ub85c, \ud504\ub85c\uadf8\ub7a8\uc774 \uc911\uac04\uc5d0 \uba48\ucd94\ub294 \ud604\uc0c1\uc744 \uc644\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \uc704\ud574\uc11c Dart\ub294 async\uc640 await \ubb38\ubc95\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Future<void> printWithDelay(String message) async {\n  await Future.delayed(oneSecond);\n  print(message);\n}<\/void><\/pre>\n\n\n\n<p>\uc704\uc758 \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c printWithDelay() \ud568\uc218\uac00 \ube44\ub3d9\uae30\uc2dd\uc73c\ub85c \ub3d9\uc791\ud55c\ub2e4\ub294 \uc758\ubbf8\uc5d0\uc11c async \ubb38\ubc95\uc774 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \ud568\uc218 \uc548\uc744 \ubcf4\uba74, Future.delayed() \ud568\uc218 \uc55e\uc5d0 await \ubb38\ubc95\uc744 \uc0ac\uc6a9\ud568\uc73c\ub85c\uc368, delayed() \ud568\uc218\uac00 \uc2e4\ud589\ub418\ub294 \ub3d9\uc548\uc5d0 \ub2e4\ub978 \uc791\uc5c5\ub4e4\uc774 \ub3d9\uc2dc\uc5d0 \uc774\ub8e8\uc5b4 \uc9c8 \uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc774\ud6c4 delayed() \ud568\uc218\uc758 \uc791\uc5c5\uc774 \uc885\ub8cc\ub418\uba74, \uc774\uc5b4\uc11c print(message) \uad6c\ubb38\uc744 \uc218\ud589\ud55c \ud6c4, \ud568\uc218\ub97c \ub9ac\ud134\ud558\uac8c \ub429\ub2c8\ub2e4. \ub530\ub77c\uc11c, \ud568\uc218\uac00 \ube44\ub3d9\uae30\uc2dd\uc73c\ub85c \ub3d9\uc791\ud568\uc73c\ub85c \uacb0\uacfc\uac00 \ub098\uc911\uc5d0 return \ub41c\ub2e4\ub294 \uc758\ubbf8\uc5d0\uc11c \uacb0\uacfc \uac12\uc758 \ud0c0\uc785\uc744 \uae30\uc220\ud558\ub294 \ubd80\ubd84\uc5d0\uc11c Future \ubb38\ubc95\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc774\ub807\uac8c \ud568\uc73c\ub85c\uc368, Dart\ub294 \uc5ec\ub7ec \uc791\uc5c5\uc774 \ub3d9\uc2dc\uc5d0 \ube44\ub3d9\uae30\uc801\uc73c\ub85c \uc9c4\ud589\ub418\ub294 \uac83\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. <\/p>\n\n\n\n<p>\ucc38\uace0\ub85c C++\ub294 \uc774\ub7f0 \ube44\ub3d9\uae30\uc2dd \uc791\uc5c5\uc744 \uc9c0\uc6d0\ud558\ub294 \uc5b8\uc5b4\uc801\uc778 \uae30\ub2a5\uc774 \uc57d\ud55c \ud3b8\uc774\uc600\uc9c0\ub9cc, C++11(2011\ub144 \ud45c\uc900 \ubc84\uc804)\uc5d0\uc11c \ucc98\uc74c\uc73c\ub85c async \ub3d9\uc791\uc744 \uc704\ud55c STL\uc774 \ucd94\uac00 \ub418\uc5c8\uc73c\uba70, C++17\uacfc C++20\uc5d0\uc11c \uc9c0\uc18d\uc801\uc73c\ub85c \uac1c\uc120 \uc791\uc5c5\uc774 \uc774\ub8e8\uc5b4 \uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4 [<a href=\"https:\/\/en.cppreference.com\/w\/cpp\/thread\/async\">\ucd9c\ucc98<\/a>]. <\/p>\n\n\n\n<p>\uc774\uac83\uc73c\ub85c C++ \uac1c\ubc1c\uc790\ub97c \uc704\ud574\uc11c Dart \uc5b8\uc5b4\uc640 C++\uc758 \uc720\uc0ac\uc810\uacfc \ucc28\uc774\uc810\uc744 \ube60\ub974\uac8c \uc54c\uc544\ubcf4\uc558\uc2b5\ub2c8\ub2e4. \uc774\uc81c\ubd80\ud130 Dart \uc5b8\uc5b4\uc758 \uae30\ubcf8 \ubb38\ubc95\uc5d0 \ub300\ud574\uc11c \uc790\uc138\ud558\uac8c \uc54c\uc544\ubcf4\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; C++ \ud504\ub85c\uadf8\ub798\uba38\ub97c \uc704\ud55c Quick Summary Part.2 &gt; \uc9c0\ub09c Part.1\uc5d0\uc11c\ub294 \uc5b4\ub5a4 \uc5b8\uc5b4\ub4e0 \uac00\uc9c0\uace0 \uc788\ub294 \uae30\ucd08\uc801\uc778 \ubb38\ubc95\uc5d0 \ub300\ud574\uc11c, Dart\uc640 C++\uac04\uc5d0 \uc720\uc0ac\ud55c \ubd80\ubd84\uc774 \ub9ce\ub2e4\ub294 \uac83\uc744 \ud655\uc778\ud588\uc2b5\ub2c8\ub2e4. \uc774\ubc88 \uae00\uc5d0\uc11c\ub294 \ud074\ub798\uc2a4, \uc608\uc678\ucc98\ub9ac\uc640 \ud568\uaed8 \ube44\ub3d9\uae30\uc801 &#8230;<\/p>\n","protected":false},"author":1,"featured_media":850,"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":[],"_links":{"self":[{"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts\/315"}],"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=315"}],"version-history":[{"count":7,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts\/315\/revisions"}],"predecessor-version":[{"id":614,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts\/315\/revisions\/614"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/media\/850"}],"wp:attachment":[{"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/media?parent=315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/categories?post=315"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/tags?post=315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}