{"id":602,"date":"2020-07-06T09:00:48","date_gmt":"2020-07-06T00:00:48","guid":{"rendered":"http:\/\/mobilelab.khu.ac.kr\/?p=602"},"modified":"2020-04-05T19:02:19","modified_gmt":"2020-04-05T10:02:19","slug":"dart-programmer-25","status":"publish","type":"post","link":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/07\/06\/dart-programmer-25\/","title":{"rendered":"Dart Programmer \ub418\uae30 [25]"},"content":{"rendered":"\n<h4>&lt; Dart \uae30\ucd08\ubb38\ubc95 &#8211; Asynchrony Support &gt;<\/h4>\n\n\n\n<p>\ud504\ub85c\uadf8\ub7a8\uc774 \ub3d9\uc791\ud558\ub2e4 \ubcf4\uba74, \uc2dc\uac04\uc774 \ub9ce\uc774 \uc18c\uc694\ub418\ub294 \uc791\uc5c5\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub300\ud45c\uc801\uc778 \uacbd\uc6b0\uac00, \ub300\ub7c9\uc758 \ub370\uc774\ud0c0\ub97c \uc77d\uace0 \ucc98\ub9ac\ud558\uac70\ub098, \uc544\ub2c8\uba74 \uc800\uc18d\uc758 \uc785\ucd9c\ub825 \uc7a5\uce58\ub97c \ub2e4\ub8e8\ub294 \uacbd\uc6b0\uc785\ub2c8\ub2e4. Dart \uc5b8\uc5b4\uc758 Async \uae30\ub2a5\uc740 \uc774\ub7f0 \uc2dc\uac04\uc774 \ub9ce\uc774 \uac78\ub9ac\ub294 \uc791\uc5c5\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uae30\ub2e4\ub9ac\uc9c0 \uc54a\uace0 \ubc14\ub85c \ub2e4\uc74c \ub3d9\uc791\uc744 \uc774\uc5b4 \ub098\uac08\uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc774\ub7f0 \uae30\ub2a5\uc774 \ud3ec\ud568\ub41c \ud568\uc218\ub4e4\uc740 \ub9ac\ud134 \uac12\uc73c\ub85c Future \ud639\uc740 Stream \uac1d\uccb4\ub97c \ubc18\ud658 \ud569\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \uc774\ub7f0 \uae30\ub2a5\uc774 \uac00\ub2a5\ud558\ub3c4\ub85d \ud558\ub294 \ubb38\ubc95\uc740 async\uc640 await \uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h4><em>async<\/em>, <em>wait <\/em>and <em>Future <\/em>Syntax<\/h4>\n\n\n\n<p>darttutorial-25-01.dart\uc5d0\uc11c heavyLoadFunction()\uc744 \ubcf4\uba74, \ubc18\ubcf5\ubb38\uc744 \uc218\ud589\ud558\uba74\uc11c \uc81c\ubc95 \ud070 \uc22b\uc790\uc5d0 \ub300\ud55c \ub367\uc148\uc744 \uc218\ud589\ud569\ub2c8\ub2e4. \ub9cc\uc57d \ud504\ub85c\uadf8\ub7a8\uc774 \ub367\uc148\uc744 \uc218\ud589\ud558\ub294 \uc2dc\uac04 \ub3d9\uc548 \ub2e4\ub978 \uc791\uc5c5\uc744 \ud560 \ud544\uc694\uac00 \uc5c6\ub2e4\uba74, \ub2e8\uc21c\ud788 \uae30\ub2e4\ub9ac\uba74 \ub429\ub2c8\ub2e4. \ud558\uc9c0\ub9cc, \ub9cc\uc57d \ub367\uc148\uc744 \uc218\ud589\ud558\ub294 \ub3d9\uc548\uc5d0 \ub2e4\ub978 \uc791\uc5c5\uc744 \ub3d9\uc2dc\uc5d0 \uc9c4\ud589\ud558\ub294 \uac83\uc774 \ud6a8\uacfc\uc801\uc774\ub77c\uba74, \ub367\uc148\uc744 \uc218\ud589\ud558\ub294 \ub3d9\uc548\uc5d0 \ub2e4\ub978 \uc791\uc5c5\uc774 \ub3d9\uc2dc\uc5d0 \uc774\ub8e8\uc5b4 \uc9c0\ub3c4\ub85d \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \uc704\ud574\uc11c,  <br>heavyLoadFunction()\ub97c \ud638\ucd9c\ud558\ub294 \ubd80\ubd84\uc744 \ubcf4\uba74, takeTime() \uc548 \uc778 \uac83\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7f0\ub370,  heavyLoadFunction()\ub97c \ud638\ucd9c\ud558\ub294 \uc55e\uc5d0 \uc0c8\ub85c\uc6b4 \ubb38\ubc95\uc774 \uc788\uc73c\ub2c8, await \uc785\ub2c8\ub2e4. \uc601\uc5b4 \uadf8\ub300\ub85c \ud574\uc11d\ud558\uba74 \uae30\ub2e4\ub9ac\ub77c\ub294 \uc758\ubbf8\uc785\ub2c8\ub2e4. \uc989, takeTime()\uc740 <br>heavyLoadFunction()\ub97c \uc2e4\ud589\ud558\ub418, \uc774 \ud568\uc218\uc758 \uc2e4\ud589\uc774 \uc2dc\uc791\ub418\uba74 (\uc774 \ud568\uc218\uac00 \uc644\ub8cc\ub418\uae30 \uc804\uc5d0) \uacb0\uacfc\uac00 \ub9ac\ud134\ub418\uae30\ub97c \uae30\ub2e4\ub9ac\uc9c0\ub9cc, takeTime()\uc744 \ud638\ucd9c\ud55c \ucabd\uc740 \uc774 \uacb0\uacfc\ub97c \uae30\ub2e4\ub9ac\uc9c0 \uc54a\uace0 \uc77c\ub2e8 \ub2e4\ub978 \uc791\uc5c5\uc744 \uc218\ud589\ud558\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc774\ub7f0 \uc758\ubbf8\uc5d0\uc11c await \uad6c\ubb38\uc774 \ub4e4\uc5b4 \uc788\ub294 \ud568\uc218\uc758 \ub9ac\ud134 \uac12\uc740 Future\ub77c\ub294 \ud0c0\uc785\uc785\ub2c8\ub2e4. \uc774 \uc758\ubbf8\ub294 &#8220;\ubbf8\ub798\uc5d0 \uacb0\uacfc\uac00 \ub9ac\ud134\ub420\uac70\uc57c. \uae30\ub2e4\ub9ac\ub2e4\uac00 \uacb0\uacfc\uac00 \ub9cc\ub4e4\uc5b4 \uc9c0\uba74, \ubbf8\ub798\uc5d0 \uc54c\ub824\uc904\ud14c\ub2c8, \uc77c\ub2e8\uc740 \ub3d9\uc2dc\uc5d0 \ud574\uc57c\ud560 \uc77c\uc774 \uc788\uc73c\uba74 \uc218\ud589\ud558\ub294\uac8c \uc88b\uaca0\uc5b4&#8221;\ub77c\ub294 \uc758\ubbf8\uc785\ub2c8\ub2e4. \uc774\ub807\uac8c await \uad6c\ubb38\uc744 \uc0ac\uc6a9\ud558\uc5ec \ubbf8\ub798\uc5d0 \uacb0\uacfc\ub97c \ub9ac\ud134\ud558\ub294 \ud568\uc218\ub294 async \ud568\uc218\ub77c\uace0 \ud558\uba70, async \uad6c\ubb38\uc744 \ud568\uc218 \uc774\ub984\uacfc { &#8230; } \uc0ac\uc774\uc5d0 \uae30\uc785\ud574\uc57c \ud569\ub2c8\ub2e4. \ud504\ub85c\uadf8\ub7a8 \uc18c\uc2a4\ucf54\ub4dc\ub97c \ubcf4\uba74, main()\ub3c4 async \ud568\uc218 \uc778 \uac83\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. takeTime()\uacfc \ube44\uc2b7\ud55c \uad6c\uc870\ub85c\uc11c, takeTime()\uc744 await\ub85c \ud638\ucd9c\ud558\uace0, \uc774\uc758 \uacb0\uacfc\uac00 \uc624\uae30\ub97c \uae30\ub2e4\ub9ac\ub294 \uc791\uc5c5\uc744 \ud558\ub294 \ud615\ud0dc\uc778 \uac83\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ darttutorial-25-01.dart\n\nheavyLoadFunction() {\n  print(\"[heavyLoadFunction(): started.\");\n  var sum = 0;\n  for(var tmp = 0; tmp &lt; 100000000; tmp++) {\n    sum += tmp;\n  }\n  print(\"[heavyLoadFunction(): completed.\");\n  return sum;\n}\n\nFuture takeTime() async {\n  print(\"[takeTime(): started.\");\n  var status = await heavyLoadFunction();\n  print(\"[takeTime(): completed and result is $status.\");\n  return status;\n}\n\nFuture main() async {\n  print(\"[main(): started.\");\n  var status = await takeTime();\n  print(\"[main(): result is $status.\");\n}<\/code><\/pre>\n\n\n\n<p>darttutorial-25-01.dart \ud504\ub85c\uadf8\ub7a8\uc758 \uacb0\uacfc\uac00 \uc544\ub798\uc640 \uac19\uc774 \ub098\ud0c0\ub098 \uc788\uc2b5\ub2c8\ub2e4. \uc218\ud589 \uacb0\uacfc\ub97c \uc774\ud574\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. \uba3c\uc800, main()\uac00 \uc2e4\ud589\ud558\uba74\uc11c, takeTime()\ub97c \ud638\ucd9c\ud569\ub2c8\ub2e4. \ub2e8, \uacb0\uacfc\uac00 \ub9ac\ud134\ub420\ub54c\uae4c\uc9c4 \uae30\ub2e4\ub9ac\uaca0\ub2e4\ub294 \uc758\ubbf8\uc5d0\uc11c await \uad6c\ubb38\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c, main()\uc758 \uc218\ud589\uc740 \uc77c\ub2e8 \uc774\uc9c0\uc810\uc5d0\uc11c \uba48\ucd94\uba70, \ud504\ub85c\uadf8\ub7a8\uc758 \uc218\ud589\uc740 takeTime()\ud568\uc218\ub85c \uc774\ub3d9\ud569\ub2c8\ub2e4. \uc21c\ucc28\uc801\uc73c\ub85c heavyLoadFunction()\uc774 \ud638\ucd9c\ub418\ub294 \uac83\uc744 \ubcfc\uc218 \uc788\uc73c\uba70, \ub9c8\ucc2c\uac00\uc9c0\ub85c await \uc0c1\ud0dc\ub97c \uc720\uc9c0\ud569\ub2c8\ub2e4. \uc774 \ud568\uc218\uc758 \ub3d9\uc791\uc774 \uc885\ub8cc\ub418\uba74, await\uc5d0 \uc758\ud574\uc11c \uacb0\uacfc\ub97c \uae30\ub2e4\ub9ac\ub294 takeTime()\uc73c\ub85c \ubcf5\uadc0\ud558\uba70, \ub2e4\uc2dc \uc774 \ud568\uc218\uc758 \uacb0\uacfc\ub97c \uae30\ub2e4\ub9ac\ub358 main()\uc73c\ub85c \ub3cc\uc544\uc628 \ud6c4, \uac00\uc838\uc628 \uacb0\uacfc\ub97c \ud654\uba74\uc5d0 \ucd9c\ub825\ud558\uace0, \ud504\ub85c\uadf8\ub7a8\uc744 \uc885\ub8cc \ud558\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[main(): started.\n[takeTime(): started.\n[heavyLoadFunction(): started.\n[heavyLoadFunction(): completed.\n[takeTime(): completed and result is 4999999950000000.\n[main(): result is 4999999950000000.<\/code><\/pre>\n\n\n\n<h4>Asynchronous Operation<\/h4>\n\n\n\n<p>Async \ub3d9\uc791\uc744 \uc124\uba85\ud558\uace0 \uc788\uc9c0\ub9cc, \uccab\ubc88\uca30\ub85c \uc124\uba85\ud55c darttutorial-25-01.dart \ud504\ub85c\uadf8\ub7a8\uc740 main() &#8211; takeTime() &#8211; heavyLoadFunction()\uc774 \uaf2c\ub9ac\uc5d0 \uaf2c\ub9ac\ub97c \ubb3c\uba74\uc11c \uacb0\uacfc\ub97c \uae30\ub2e4\ub9ac\uae30\uc5d0 \uc0ac\uc2e4\uc0c1 async \ub3d9\uc791\uc774\uae30 \ubcf4\ub2e4\ub294 sync \ub3d9\uc791\uc778 \ub3d9\uae30\ud654\ub41c \ubc29\ubc95\uc774\ub77c\uace0 \ubcfc\uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub9cc\uc57d main()\uc5d0\uc11c \uad73\uc774 takeTime()\uc758 \uacb0\uacfc\ub97c \ucde8\ud558\uc9c0 \uc54a\ub294 \ub2e4\uba74 \uc5b4\ub5a8\uae4c\uc694? takeTime()\uc774 \uc54c\uc544\uc11c \uc791\uc5c5\uc744 \ud558\uace0, \ub3c5\uc790\uc801\uc73c\ub85c \ub3d9\uc791\ud558\ub418, takeTime()\uc774 \ub3c5\ub9bd\uc801\uc778 \uc791\uc5c5\uc744 \ud558\ub294 \ub3d9\uc548 main()\uc740 \ub2e4\ub978 \ub3d9\uc791\uc744 \ub3d9\uc2dc\uc5d0 \ud55c\ub2e4\uace0 \uc0dd\uac01\ud574 \ubd05\ub2c8\ub2e4. \uc774\ub807\uac8c \uc218\uc815\ud55c \ud504\ub85c\uadf8\ub7a8\uc774 darttutorial-25-02.dart \uc785\ub2c8\ub2e4. \ubcc0\uacbd\ub41c \ubd80\ubd84\uc740 main() \ubfd0\uc785\ub2c8\ub2e4. \uc55e\uc11c darttutorial-25-01.dart\uc5d0\uc11c\ub294 main()\uc774 takeTime()\uc5d0\uc11c \uacb0\uacfc\ub97c \ub9ac\ud134\ud560\ub54c\uae4c\uc9c0 \ub300\uae30\ub97c \ud588\uc9c0\ub9cc, \uc9c0\uae08\uc740 takeTime() \ud568\uc218\ub97c \ud638\ucd9c\ud560 \ubfd0, await\ub85c \ub300\uae30 \ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, main()\uc740 takeTime()\uc744 \ud638\ucd9c\ud574\uc11c heavyLoadFunction()\uc744 \ud1b5\ud55c \uae34 \uc791\uc5c5\uc744 \uc2dc\uc791\ud558\uc9c0\ub9cc, \uc774\uc640 \ud568\uaed8 main()\uc5d0\uc11c\ub3c4 \ub2e4\ub978 \uc791\uc5c5\uc744 \ub3d9\uc2dc\uc5d0 \uc218\ud589\ud560 \uc218 \uc788\ub3c4\ub85d \uc791\uc5c5\uc744 \uc774\uc5b4 \uac11\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ darttutorial-25-02.dart\n\nheavyLoadFunction() {\n  print(\"[heavyLoadFunction(): started.\");\n  var sum = 0;\n  for(var tmp = 0; tmp &lt; 100000000; tmp++) {\n    sum += tmp;\n  }\n  print(\"[heavyLoadFunction(): completed.\");\n  return sum;\n}\n\nFuture takeTime() async {\n  print(\"[takeTime(): started.\");\n  var status = await heavyLoadFunction();\n  print(\"[takeTime(): completed and result is $status.\");\n  return status;\n}\n\nmain() {\n  print(\"[main(): started.\");\n  var status = takeTime();\n  print(\"[main(): result is $status.\");\n}<\/code><\/pre>\n\n\n\n<p>darttutorial-25-02.dart \ud504\ub85c\uadf8\ub7a8\uc758 \uc218\ud589\uacb0\uacfc\uac00 \uc544\ub798\uc640 \uac19\uc774 \ub098\ud0c0\ub098 \uc788\uc2b5\ub2c8\ub2e4. \ub2ec\ub77c\uc9c4 \ubd80\ubd84\uc740, takeTime()\uc774 \uc885\ub8cc\ub418\uae30\uc804\uc5d0, main()\uc73c\ub85c \ud504\ub85c\uadf8\ub7a8\uc758 \uc218\ud589\uc774 \uc774\uc5b4\uc9c0\uba74\uc11c, takeTime()\uc758 \ub9ac\ud134 \uac12\uc774 Future \ud0c0\uc785\uc778 \uc810\uc785\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \ub098\uc11c, \uc2dc\uac04\uc774 \ud750\ub978\ud6c4 takeTime() \ud568\uc218\uac00 \uc885\ub8cc\ub418\ub294 \uac83\uc744 \ubcfc\uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uc640 \uac19\uc774, main()\uc774 \uc2dc\uc791\ud558\uba74, \ub3c5\ub9bd\uc801\uc778 \ud504\ub85c\uc138\uc2a4\/\ud568\uc218(\ub4e4)\uc758 \ub3d9\uc791\uc744 \uc2dc\uc791\uc2dc\ud0a4\uace0, \uc11c\ub85c\uac00 \ub3c5\ub9bd\uc801\uc774\uba70 \ubcd1\ub82c\uc801\uc73c\ub85c \ub3d9\uc791\ud558\uac8c \ud558\ub294 \uac83\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[main(): started.\n[takeTime(): started.\n[heavyLoadFunction(): started.\n[heavyLoadFunction(): completed.\n[main(): result is Instance of 'Future&lt;dynamic>'.\n[takeTime(): completed and result is 4999999950000000.<\/code><\/pre>\n\n\n\n<h4>Multiple <em>await <\/em>Operation<\/h4>\n\n\n\n<p>async \ud568\uc218 \uc548\uc5d0 await \uad6c\ubb38\uc744 \ud558\ub098\ub9cc \uc0ac\uc6a9\ud558\uc600\uc9c0\ub9cc, darttutorial-25-03.dart \ud504\ub85c\uadf8\ub7a8 \ucc98\ub7fc, \ubcf5\uc218\uc758 await \uad6c\ubb38\uc758 \uc0ac\uc6a9\ub3c4 \uac00\ub2a5\ud569\ub2c8\ub2e4. takeTime() \ud568\uc218\uc5d0 \uc5f0\uc774\uc5b4 await \uad6c\ubb38\uc774 \ub450\uac1c \ub098\ud0c0\ub098 \uc788\uc73c\uba70, \uccab\ubc88\uc9f8 await \uad6c\ubb38\uc758 \uc644\ub8cc\ud6c4, \uc774\uc5b4\uc11c \ub450\ubc88\uc9f8 await \uad6c\ubb38\uc774 \uc2e4\ud589\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ darttutorial-25-03.dart\n\nheavyLoadFunction1() {\n  print(\"[heavyLoadFunction1(): started.\");\n  var sum = 0;\n  for(var tmp = 0; tmp &lt; 100000000; tmp++) {\n    sum += tmp;\n  }\n  print(\"[heavyLoadFunction1(): completed.\");\n  return sum;\n}\n\nheavyLoadFunction2() {\n  print(\"[heavyLoadFunction2(): started.\");\n  var sum = 0;\n  for(var tmp = 0; tmp &lt; 1000000; tmp++) {\n    sum += tmp;\n  }\n  print(\"[heavyLoadFunction2(): completed.\");\n  return sum;\n}\n\nFuture takeTime() async {\n  print(\"[takeTime(): started.\");\n  var status1 = await heavyLoadFunction1();\n  var status2 = await heavyLoadFunction2();\n  print(\"[takeTime(): completed and result is $status1 $status2.\");\n  return status1 + status2;\n}\n\nFuture main() async {\n  print(\"[main(): started.\");\n  var status = await takeTime();\n  print(\"[main(): result is $status.\");\n}<\/code><\/pre>\n\n\n\n<p>darttutorial-25-03.dart \ud504\ub85c\uadf8\ub7a8\uc758 \uc218\ud589\uacb0\uacfc\uac00 \uc544\ub798\uc5d0 \ub098\ud0c0\ub098 \uc788\uc2b5\ub2c8\ub2e4. main()\uc740 darttutorial-25-01.dart \ucc98\ub7fc async \uacb0\uacfc\ub97c \uae30\ub2e4\ub9ac\ub294 \uad6c\uc870\ub85c \ub418\uc5b4 \uc788\uae30\uc5d0, Future \ud0c0\uc785\uc774 \uc544\ub2cc, \uc81c\ub300\ub85c\ub41c \uacb0\uacfc\ub97c \ucd9c\ub825\ud558\ub294 \uac83\uc744 \ubcfc\uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c, takeTime() \ud568\uc218\ub97c \ud1b5\ud574\uc11c heavyLoadFunction1()\uacfc heavyLoadFunction2()\uac00 \uc5f0\uc774\uc5b4 \uc218\ud589\ub418\ub294 \uac83\uc744 \ud655\uc778 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[main(): started.\n[takeTime(): started.\n[heavyLoadFunction1(): started.\n[heavyLoadFunction1(): completed.\n[heavyLoadFunction2(): started.\n[heavyLoadFunction2(): completed.\n[takeTime(): completed and result is 4999999950000000 499999500000.\n[main(): result is 5000499949500000.<\/code><\/pre>\n\n\n\n<h4>Simultaneous Asynchronous Operations<\/h4>\n\n\n\n<p>\uc774\uc81c \uc81c\ub300\ub85c main()\uc5d0\uc11c \ubcf5\uc218\uc758 \uc791\uc5c5\uc744 \ub3d9\uc2dc\uc5d0 \uc218\ud589\uc2dc\ud0a4\ub294 \ubc29\uc2dd\uc73c\ub85c \ud504\ub85c\uadf8\ub7a8\uc744 \uc218\uc815\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. darttutorial-25-04.dart \ud504\ub85c\uadf8\ub7a8\uc744 \ubcf4\uba74, \ub450\uac1c\uc758 takeTimeA()\uc640 takeTimeB()\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uac01\uac01\uc740 \uc55e\uc11c\uc640 \uc720\uc0ac\ud558\uac8c \ub9ce\uc740 \uacc4\uc2fc\uc744 \ud558\ub294 \ud568\uc218\ub4e4\uc744 \uc21c\ucc28\uc801\uc73c\ub85c \uc218\ud589\ud569\ub2c8\ub2e4. \ud558\uace0\uc790 \ud558\ub294 \uac83\uc740 takeTimeA()\uc640 takeTimeB()\uac00 \ub3c5\ub9bd\uc801\uc73c\ub85c \ub3d9\uc2dc\uc5d0 \ub3d9\uc791\ud558\ub294 \uac83\uc774\uba70, \uc774\uc5b4\uc11c \uc124\uba85\ud560 \uc218\ud589 \uacb0\uacfc\ub97c \ubcf4\uba74, async \ud568\uc218\uac00 \uc544\ub2cc main()\uc744 \ud1b5\ud574\uc11c \uac01\uac01\uc744 \ud638\ucd9c\ud558\ub294 \uac83\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ darttutorial-25-04.dart\n\nheavyLoadFunction1() {\n  print(\"[heavyLoadFunction1(): started.\");\n  var sum = 0;\n  for(var tmp = 0; tmp &lt; 100000000; tmp++) {\n    sum += tmp;\n  }\n  print(\"[heavyLoadFunction1(): completed.\");\n  return sum;\n}\n\nheavyLoadFunction2() {\n  print(\"[heavyLoadFunction2(): started.\");\n  var sum = 0;\n  for(var tmp = 0; tmp &lt; 1000000; tmp++) {\n    sum += tmp;\n  }\n  print(\"[heavyLoadFunction2(): completed.\");\n  return sum;\n}\n\nheavyLoadFunction3() {\n  print(\"[heavyLoadFunction3(): started.\");\n  var sum = 0;\n  for(var tmp = 0; tmp &lt; 10000000; tmp++) {\n    sum += tmp;\n  }\n  print(\"[heavyLoadFunction3(): completed.\");\n  return sum;\n}\n\nheavyLoadFunction4() {\n  print(\"[heavyLoadFunction4(): started.\");\n  var sum = 0;\n  for(var tmp = 0; tmp &lt; 100000; tmp++) {\n    sum += tmp;\n  }\n  print(\"[heavyLoadFunction4(): completed.\");\n  return sum;\n}\n\nFuture takeTimeA() async {\n  print(\"[takeTimeA(): started.\");\n  var status1 = await heavyLoadFunction1();\n  var status2 = await heavyLoadFunction2();\n  print(\"[takeTimeA(): completed and result is $status1 $status2.\");\n}\n\nFuture takeTimeB() async {\n  print(\"[takeTimeB(): started.\");\n  var status1 = await heavyLoadFunction3();\n  var status2 = await heavyLoadFunction4();\n  print(\"[takeTimeB(): completed and result is $status1 $status2.\");\n}\n\nmain() {\n  print(\"[main(): started.\");\n  takeTimeA();\n  takeTimeB();\n  print(\"[main(): completed.\");\n}<\/code><\/pre>\n\n\n\n<p>darttutorial-25-04.dart\uc758 \uc218\ud589\uacb0\uacfc\uac00 \uc544\ub798\uc640 \uac19\uc774 \ub098\ud0c0\ub0a9\ub2c8\ub2e4. main()\uc758 \uc2dc\uc791\uacfc \ud568\uaed8 takeTimeA()\ub97c \uc2e4\ud589\ud558\uc600\ub294\ub370, \uc774\ub97c \ud1b5\ud55c heavyLoadFunction1()\uacfc heavyLoadFunction2()\uac00 \ubaa8\ub450 \ub9c8\uccd0\uc9c0\uae30 \uc804\uc5d0, takeTimeB()\ub3c4 \uc2dc\uc791\uc744 \ud558\ub294 \uac83\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, \ub2f9\ubd84\uac04 takeTimeA()\uc640 takeTimeB()\uac00 \ub3d9\uc2dc\uc5d0 \ub3d9\uc791\ud558\ub294 \uc2dc\uac04\uc774 \uc874\uc7ac\ud568\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub354\ubd88\uc5b4, main()\uc774 async \ud568\uc218\uac00 \uc544\ub2c8\uae30\uc5d0 \ub9c8\uc9c0\ub9c9 \uad6c\ubb38\uc744 \uc2e4\ud589\ud574 \ubc84\ub9ac\ub294 \uac83\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ud6c4 \ub3d9\uc2dc\uc5d0 \uc218\ud589 \uc911\uc778 \uc791\uc5c5\ub4e4\uc774 \uac01\uac01 \ub9c8\uccd0\uc9c0\uace0, \uacc4\uc0b0\ud55c \uac01\uc790\uc758 \uacb0\uacfc\ub97c \ud654\uba74\uc5d0 \ucd9c\ub825\ud6c4 \ud504\ub85c\uadf8\ub7a8\uc744 \uc885\ub8cc\ud558\ub294 \uac83\uc744 \ubcfc\uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[main(): started.\n[takeTimeA(): started.\n[heavyLoadFunction1(): started.\n[heavyLoadFunction1(): completed.\n[takeTimeB(): started.\n[heavyLoadFunction3(): started.\n[heavyLoadFunction3(): completed.\n[main(): completed.\n[heavyLoadFunction2(): started.\n[heavyLoadFunction2(): completed.\n[heavyLoadFunction4(): started.\n[heavyLoadFunction4(): completed.\n[takeTimeA(): completed and result is 4999999950000000 499999500000.\n[takeTimeB(): completed and result is 49999995000000 4999950000.<\/code><\/pre>\n\n\n\n<h4>Synchronous Operations using <em>await <\/em>Syntax<\/h4>\n\n\n\n<p>darttutorial-25-05.dart \ud504\ub85c\uadf8\ub7a8\uc740 \ub2e4\uc2dc main()\uc5d0 await \uad6c\ubb38\uc744 \uc0bd\uc785\ud568\uc73c\ub85c, takeTimeA()\uc640 takeTimeB()\uc758 \uc791\uc5c5\uc744 \ub9c8\uccd0\uc57c\uc9c0 main()\uc744 \uc885\ub8cc\ud558\ub3c4\ub85d \uc870\uc815\ud558\uc600\uc2b5\ub2c8\ub2e4.  \uc774\ub807\uac8c \ud568\uc73c\ub85c\uc368, \ub3c5\ub9bd\uc801\uc73c\ub85c \ub3d9\uc2dc\uc5d0 \uc218\ud589\ub418\uc9c0 \uc54a\uace0, \uc21c\ucc28\uc801\uc73c\ub85c \uc218\ud589\ud558\ub3c4\ub85d \ubcc0\uacbd\ud55c \uac83\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ darttutorial-25-05.dart\n\nheavyLoadFunction1() {\n  print(\"[heavyLoadFunction1(): started.\");\n  var sum = 0;\n  for(var tmp = 0; tmp &lt; 100000000; tmp++) {\n    sum += tmp;\n  }\n  print(\"[heavyLoadFunction1(): completed.\");\n  return sum;\n}\n\nheavyLoadFunction2() {\n  print(\"[heavyLoadFunction2(): started.\");\n  var sum = 0;\n  for(var tmp = 0; tmp &lt; 1000000; tmp++) {\n    sum += tmp;\n  }\n  print(\"[heavyLoadFunction2(): completed.\");\n  return sum;\n}\n\nheavyLoadFunction3() {\n  print(\"[heavyLoadFunction3(): started.\");\n  var sum = 0;\n  for(var tmp = 0; tmp &lt; 10000000; tmp++) {\n    sum += tmp;\n  }\n  print(\"[heavyLoadFunction3(): completed.\");\n  return sum;\n}\n\nheavyLoadFunction4() {\n  print(\"[heavyLoadFunction4(): started.\");\n  var sum = 0;\n  for(var tmp = 0; tmp &lt; 100000; tmp++) {\n    sum += tmp;\n  }\n  print(\"[heavyLoadFunction4(): completed.\");\n  return sum;\n}\n\nFuture takeTimeA() async {\n  print(\"[takeTimeA(): started.\");\n  var status1 = await heavyLoadFunction1();\n  var status2 = await heavyLoadFunction2();\n  print(\"[takeTimeA(): completed and result is $status1 $status2.\");\n}\n\nFuture takeTimeB() async {\n  print(\"[takeTimeB(): started.\");\n  var status1 = await heavyLoadFunction3();\n  var status2 = await heavyLoadFunction4();\n  print(\"[takeTimeB(): completed and result is $status1 $status2.\");\n}\n\nFuture main() async {\n  print(\"[main(): started.\");\n  await takeTimeA();\n  await takeTimeB();\n  print(\"[main(): completed.\");\n}<\/code><\/pre>\n\n\n\n<p>\uc218\ud589 \uacb0\uacfc\uac00 \uc544\ub798\uc640 \uac19\uc774 \ub098\ud0c0\ub098 \uc788\uc73c\uba70, \ud55c\ubc88\uc5d0 \ud558\ub098\uc758 \uae30\ub2a5 \ub9cc\uc744 \uc218\ud589\ud558\uba74\uc11c, \ud504\ub85c\uadf8\ub7a8\uc774 \ubb3c \ud750\ub974\ub4ef\uc774 \uc9c4\ud589\ub418\uc5b4 \uc885\ub8cc\ub418\ub294 \uac83\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[main(): started.\n[takeTimeA(): started.\n[heavyLoadFunction1(): started.\n[heavyLoadFunction1(): completed.\n[heavyLoadFunction2(): started.\n[heavyLoadFunction2(): completed.\n[takeTimeA(): completed and result is 4999999950000000 499999500000.\n[takeTimeB(): started.\n[heavyLoadFunction3(): started.\n[heavyLoadFunction3(): completed.\n[heavyLoadFunction4(): started.\n[heavyLoadFunction4(): completed.\n[takeTimeB(): completed and result is 49999995000000 4999950000.\n[main(): completed.<\/code><\/pre>\n\n\n\n<h4>\ub9c8\ubb34\ub9ac<\/h4>\n\n\n\n<p>Dart \uc5b8\uc5b4\ub294 await, async, Future \ubb38\ubc95\uc744 \uc0ac\uc6a9\ud568\uc73c\ub85c\uc368, \uc9c0\uc5f0\uc774 \ubc1c\uc0dd\ud558\ub294 \uc791\uc5c5\uc774 \uc788\ub294 \uacbd\uc6b0, \uc774\uc758 \uc218\ud589\uc744 \uc9c4\ud589\ud558\uba74\uc11c, \uc774\uc5d0 \ub3c5\ub9bd\uc801 \uc77c\uc218 \uc788\ub294 \ub2e4\ub978 \uc791\uc5c5\uc758 \uc218\ud589\uc744 \uc774\uc5b4\uac00\ub294 \uac83\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4. \uc608\uc81c\uc5d0\uc11c \uc0b4\ud3b4\ubcf4\uc9c0\ub294 \uc54a\uc558\uc9c0\ub9cc, async \ud568\uc218\uc548\uc5d0\uc11c \uc785\ucd9c\ub825\uacfc \uad00\ub828\ud55c \ubc18\ubcf5\uc801\uc778 \uc791\uc5c5\uc774 \ud544\uc694\ud55c \uacbd\uc6b0\ub294 async for \uad6c\ubb38\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \ud544\uc694\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ucd94\ud6c4 async \uae30\ub2a5\uc758 \uac1c\ubc1c\uc5d0\uc11c \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\ub294 \uacbd\uc6b0\uc5d0\ub294 \ud574\ub2f9 \ubb38\ubc95\uc744 \uc0b4\ud3b4\ubcf4\uae30 \ubc14\ub78d\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; Asynchrony Support &gt; \ud504\ub85c\uadf8\ub7a8\uc774 \ub3d9\uc791\ud558\ub2e4 \ubcf4\uba74, \uc2dc\uac04\uc774 \ub9ce\uc774 \uc18c\uc694\ub418\ub294 \uc791\uc5c5\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub300\ud45c\uc801\uc778 \uacbd\uc6b0\uac00, \ub300\ub7c9\uc758 \ub370\uc774\ud0c0\ub97c \uc77d\uace0 \ucc98\ub9ac\ud558\uac70\ub098, \uc544\ub2c8\uba74 \uc800\uc18d\uc758 \uc785\ucd9c\ub825 \uc7a5\uce58\ub97c \ub2e4\ub8e8\ub294 \uacbd\uc6b0\uc785\ub2c8\ub2e4. Dart \uc5b8\uc5b4\uc758 Async &#8230;<\/p>\n","protected":false},"author":1,"featured_media":975,"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 - Asynchrony Support &gt; \ud504\ub85c\uadf8\ub7a8\uc774 \ub3d9\uc791\ud558\ub2e4 \ubcf4\uba74, \uc2dc\uac04\uc774 \ub9ce\uc774 \uc18c\uc694\ub418\ub294 \uc791\uc5c5\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub300\ud45c\uc801\uc778 \uacbd\uc6b0\uac00, \ub300\ub7c9\uc758 \ub370\uc774\ud0c0\ub97c \uc77d\uace0 \ucc98\ub9ac\ud558\uac70\ub098, \uc544\ub2c8\uba74 \uc800\uc18d\uc758 \uc785\ucd9c\ub825 \uc7a5\uce58\ub97c \ub2e4\ub8e8\ub294 \uacbd\uc6b0\uc785\ub2c8\ub2e4. Dart \uc5b8\uc5b4\uc758 Async \uae30\ub2a5\uc740 \uc774\ub7f0 \uc2dc\uac04\uc774 \ub9ce\uc774 \uac78\ub9ac\ub294 \uc791\uc5c5\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uae30\ub2e4\ub9ac\uc9c0 \uc54a\uace0 \ubc14\ub85c \ub2e4\uc74c \ub3d9\uc791\uc744 \uc774\uc5b4 \ub098\uac08\uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc774\ub7f0 \uae30\ub2a5\uc774 \ud3ec\ud568\ub41c \ud568\uc218\ub4e4\uc740 \ub9ac\ud134 \uac12\uc73c\ub85c Future \ud639\uc740\" \/>\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\/07\/06\/dart-programmer-25\/\" \/>\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 [25] - Welcome to Dr.Sungwon\" \/>\n\t\t<meta property=\"og:description\" content=\"&lt; Dart \uae30\ucd08\ubb38\ubc95 - Asynchrony Support &gt; \ud504\ub85c\uadf8\ub7a8\uc774 \ub3d9\uc791\ud558\ub2e4 \ubcf4\uba74, \uc2dc\uac04\uc774 \ub9ce\uc774 \uc18c\uc694\ub418\ub294 \uc791\uc5c5\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub300\ud45c\uc801\uc778 \uacbd\uc6b0\uac00, \ub300\ub7c9\uc758 \ub370\uc774\ud0c0\ub97c \uc77d\uace0 \ucc98\ub9ac\ud558\uac70\ub098, \uc544\ub2c8\uba74 \uc800\uc18d\uc758 \uc785\ucd9c\ub825 \uc7a5\uce58\ub97c \ub2e4\ub8e8\ub294 \uacbd\uc6b0\uc785\ub2c8\ub2e4. Dart \uc5b8\uc5b4\uc758 Async \uae30\ub2a5\uc740 \uc774\ub7f0 \uc2dc\uac04\uc774 \ub9ce\uc774 \uac78\ub9ac\ub294 \uc791\uc5c5\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uae30\ub2e4\ub9ac\uc9c0 \uc54a\uace0 \ubc14\ub85c \ub2e4\uc74c \ub3d9\uc791\uc744 \uc774\uc5b4 \ub098\uac08\uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc774\ub7f0 \uae30\ub2a5\uc774 \ud3ec\ud568\ub41c \ud568\uc218\ub4e4\uc740 \ub9ac\ud134 \uac12\uc73c\ub85c Future \ud639\uc740\" \/>\n\t\t<meta property=\"og:url\" content=\"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/07\/06\/dart-programmer-25\/\" \/>\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-07-06T00:00:48+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-05T10:02:19+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 [25] - Welcome to Dr.Sungwon\" \/>\n\t\t<meta name=\"twitter:description\" content=\"&lt; Dart \uae30\ucd08\ubb38\ubc95 - Asynchrony Support &gt; \ud504\ub85c\uadf8\ub7a8\uc774 \ub3d9\uc791\ud558\ub2e4 \ubcf4\uba74, \uc2dc\uac04\uc774 \ub9ce\uc774 \uc18c\uc694\ub418\ub294 \uc791\uc5c5\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub300\ud45c\uc801\uc778 \uacbd\uc6b0\uac00, \ub300\ub7c9\uc758 \ub370\uc774\ud0c0\ub97c \uc77d\uace0 \ucc98\ub9ac\ud558\uac70\ub098, \uc544\ub2c8\uba74 \uc800\uc18d\uc758 \uc785\ucd9c\ub825 \uc7a5\uce58\ub97c \ub2e4\ub8e8\ub294 \uacbd\uc6b0\uc785\ub2c8\ub2e4. Dart \uc5b8\uc5b4\uc758 Async \uae30\ub2a5\uc740 \uc774\ub7f0 \uc2dc\uac04\uc774 \ub9ce\uc774 \uac78\ub9ac\ub294 \uc791\uc5c5\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uae30\ub2e4\ub9ac\uc9c0 \uc54a\uace0 \ubc14\ub85c \ub2e4\uc74c \ub3d9\uc791\uc744 \uc774\uc5b4 \ub098\uac08\uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc774\ub7f0 \uae30\ub2a5\uc774 \ud3ec\ud568\ub41c \ud568\uc218\ub4e4\uc740 \ub9ac\ud134 \uac12\uc73c\ub85c Future \ud639\uc740\" \/>\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\\\/07\\\/06\\\/dart-programmer-25\\\/#blogposting\",\"name\":\"Dart Programmer \\ub418\\uae30 [25] - Welcome to Dr.Sungwon\",\"headline\":\"Dart Programmer \\ub418\\uae30 [25]\",\"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\\\/07\\\/chapter-25.png\",\"width\":691,\"height\":158},\"datePublished\":\"2020-07-06T09:00:48+09:00\",\"dateModified\":\"2020-04-05T19:02:19+09:00\",\"inLanguage\":\"ko-KR\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/07\\\/06\\\/dart-programmer-25\\\/#webpage\"},\"isPartOf\":{\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/07\\\/06\\\/dart-programmer-25\\\/#webpage\"},\"articleSection\":\"writing\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/07\\\/06\\\/dart-programmer-25\\\/#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\\\/07\\\/06\\\/dart-programmer-25\\\/#listItem\",\"name\":\"Dart Programmer \\ub418\\uae30 [25]\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/07\\\/06\\\/dart-programmer-25\\\/#listItem\",\"position\":3,\"name\":\"Dart Programmer \\ub418\\uae30 [25]\",\"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\\\/07\\\/06\\\/dart-programmer-25\\\/#organizationLogo\",\"width\":160,\"height\":28},\"image\":{\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/07\\\/06\\\/dart-programmer-25\\\/#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\\\/07\\\/06\\\/dart-programmer-25\\\/#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\\\/07\\\/06\\\/dart-programmer-25\\\/#webpage\",\"url\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/07\\\/06\\\/dart-programmer-25\\\/\",\"name\":\"Dart Programmer \\ub418\\uae30 [25] - Welcome to Dr.Sungwon\",\"description\":\"< Dart \\uae30\\ucd08\\ubb38\\ubc95 - Asynchrony Support > \\ud504\\ub85c\\uadf8\\ub7a8\\uc774 \\ub3d9\\uc791\\ud558\\ub2e4 \\ubcf4\\uba74, \\uc2dc\\uac04\\uc774 \\ub9ce\\uc774 \\uc18c\\uc694\\ub418\\ub294 \\uc791\\uc5c5\\uc774 \\uc788\\uc2b5\\ub2c8\\ub2e4. \\ub300\\ud45c\\uc801\\uc778 \\uacbd\\uc6b0\\uac00, \\ub300\\ub7c9\\uc758 \\ub370\\uc774\\ud0c0\\ub97c \\uc77d\\uace0 \\ucc98\\ub9ac\\ud558\\uac70\\ub098, \\uc544\\ub2c8\\uba74 \\uc800\\uc18d\\uc758 \\uc785\\ucd9c\\ub825 \\uc7a5\\uce58\\ub97c \\ub2e4\\ub8e8\\ub294 \\uacbd\\uc6b0\\uc785\\ub2c8\\ub2e4. Dart \\uc5b8\\uc5b4\\uc758 Async \\uae30\\ub2a5\\uc740 \\uc774\\ub7f0 \\uc2dc\\uac04\\uc774 \\ub9ce\\uc774 \\uac78\\ub9ac\\ub294 \\uc791\\uc5c5\\uc774 \\uc644\\ub8cc\\ub420 \\ub54c\\uae4c\\uc9c0 \\uae30\\ub2e4\\ub9ac\\uc9c0 \\uc54a\\uace0 \\ubc14\\ub85c \\ub2e4\\uc74c \\ub3d9\\uc791\\uc744 \\uc774\\uc5b4 \\ub098\\uac08\\uc218 \\uc788\\ub3c4\\ub85d \\ud569\\ub2c8\\ub2e4. \\uc774\\ub7f0 \\uae30\\ub2a5\\uc774 \\ud3ec\\ud568\\ub41c \\ud568\\uc218\\ub4e4\\uc740 \\ub9ac\\ud134 \\uac12\\uc73c\\ub85c Future \\ud639\\uc740\",\"inLanguage\":\"ko-KR\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/07\\\/06\\\/dart-programmer-25\\\/#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\\\/07\\\/chapter-25.png\",\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/07\\\/06\\\/dart-programmer-25\\\/#mainImage\",\"width\":691,\"height\":158},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/mobilelab.khu.ac.kr\\\/wordpress\\\/2020\\\/07\\\/06\\\/dart-programmer-25\\\/#mainImage\"},\"datePublished\":\"2020-07-06T09:00:48+09:00\",\"dateModified\":\"2020-04-05T19:02:19+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 [25] - Welcome to Dr.Sungwon","description":"< Dart \uae30\ucd08\ubb38\ubc95 - Asynchrony Support > \ud504\ub85c\uadf8\ub7a8\uc774 \ub3d9\uc791\ud558\ub2e4 \ubcf4\uba74, \uc2dc\uac04\uc774 \ub9ce\uc774 \uc18c\uc694\ub418\ub294 \uc791\uc5c5\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub300\ud45c\uc801\uc778 \uacbd\uc6b0\uac00, \ub300\ub7c9\uc758 \ub370\uc774\ud0c0\ub97c \uc77d\uace0 \ucc98\ub9ac\ud558\uac70\ub098, \uc544\ub2c8\uba74 \uc800\uc18d\uc758 \uc785\ucd9c\ub825 \uc7a5\uce58\ub97c \ub2e4\ub8e8\ub294 \uacbd\uc6b0\uc785\ub2c8\ub2e4. Dart \uc5b8\uc5b4\uc758 Async \uae30\ub2a5\uc740 \uc774\ub7f0 \uc2dc\uac04\uc774 \ub9ce\uc774 \uac78\ub9ac\ub294 \uc791\uc5c5\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uae30\ub2e4\ub9ac\uc9c0 \uc54a\uace0 \ubc14\ub85c \ub2e4\uc74c \ub3d9\uc791\uc744 \uc774\uc5b4 \ub098\uac08\uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc774\ub7f0 \uae30\ub2a5\uc774 \ud3ec\ud568\ub41c \ud568\uc218\ub4e4\uc740 \ub9ac\ud134 \uac12\uc73c\ub85c Future \ud639\uc740","canonical_url":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/07\/06\/dart-programmer-25\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/07\/06\/dart-programmer-25\/#blogposting","name":"Dart Programmer \ub418\uae30 [25] - Welcome to Dr.Sungwon","headline":"Dart Programmer \ub418\uae30 [25]","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\/07\/chapter-25.png","width":691,"height":158},"datePublished":"2020-07-06T09:00:48+09:00","dateModified":"2020-04-05T19:02:19+09:00","inLanguage":"ko-KR","mainEntityOfPage":{"@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/07\/06\/dart-programmer-25\/#webpage"},"isPartOf":{"@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/07\/06\/dart-programmer-25\/#webpage"},"articleSection":"writing"},{"@type":"BreadcrumbList","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/07\/06\/dart-programmer-25\/#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\/07\/06\/dart-programmer-25\/#listItem","name":"Dart Programmer \ub418\uae30 [25]"},"previousItem":{"@type":"ListItem","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/07\/06\/dart-programmer-25\/#listItem","position":3,"name":"Dart Programmer \ub418\uae30 [25]","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\/07\/06\/dart-programmer-25\/#organizationLogo","width":160,"height":28},"image":{"@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/07\/06\/dart-programmer-25\/#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\/07\/06\/dart-programmer-25\/#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\/07\/06\/dart-programmer-25\/#webpage","url":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/07\/06\/dart-programmer-25\/","name":"Dart Programmer \ub418\uae30 [25] - Welcome to Dr.Sungwon","description":"< Dart \uae30\ucd08\ubb38\ubc95 - Asynchrony Support > \ud504\ub85c\uadf8\ub7a8\uc774 \ub3d9\uc791\ud558\ub2e4 \ubcf4\uba74, \uc2dc\uac04\uc774 \ub9ce\uc774 \uc18c\uc694\ub418\ub294 \uc791\uc5c5\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub300\ud45c\uc801\uc778 \uacbd\uc6b0\uac00, \ub300\ub7c9\uc758 \ub370\uc774\ud0c0\ub97c \uc77d\uace0 \ucc98\ub9ac\ud558\uac70\ub098, \uc544\ub2c8\uba74 \uc800\uc18d\uc758 \uc785\ucd9c\ub825 \uc7a5\uce58\ub97c \ub2e4\ub8e8\ub294 \uacbd\uc6b0\uc785\ub2c8\ub2e4. Dart \uc5b8\uc5b4\uc758 Async \uae30\ub2a5\uc740 \uc774\ub7f0 \uc2dc\uac04\uc774 \ub9ce\uc774 \uac78\ub9ac\ub294 \uc791\uc5c5\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uae30\ub2e4\ub9ac\uc9c0 \uc54a\uace0 \ubc14\ub85c \ub2e4\uc74c \ub3d9\uc791\uc744 \uc774\uc5b4 \ub098\uac08\uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc774\ub7f0 \uae30\ub2a5\uc774 \ud3ec\ud568\ub41c \ud568\uc218\ub4e4\uc740 \ub9ac\ud134 \uac12\uc73c\ub85c Future \ud639\uc740","inLanguage":"ko-KR","isPartOf":{"@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/#website"},"breadcrumb":{"@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/07\/06\/dart-programmer-25\/#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\/07\/chapter-25.png","@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/07\/06\/dart-programmer-25\/#mainImage","width":691,"height":158},"primaryImageOfPage":{"@id":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/07\/06\/dart-programmer-25\/#mainImage"},"datePublished":"2020-07-06T09:00:48+09:00","dateModified":"2020-04-05T19:02:19+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 [25] - Welcome to Dr.Sungwon","og:description":"&lt; Dart \uae30\ucd08\ubb38\ubc95 - Asynchrony Support &gt; \ud504\ub85c\uadf8\ub7a8\uc774 \ub3d9\uc791\ud558\ub2e4 \ubcf4\uba74, \uc2dc\uac04\uc774 \ub9ce\uc774 \uc18c\uc694\ub418\ub294 \uc791\uc5c5\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub300\ud45c\uc801\uc778 \uacbd\uc6b0\uac00, \ub300\ub7c9\uc758 \ub370\uc774\ud0c0\ub97c \uc77d\uace0 \ucc98\ub9ac\ud558\uac70\ub098, \uc544\ub2c8\uba74 \uc800\uc18d\uc758 \uc785\ucd9c\ub825 \uc7a5\uce58\ub97c \ub2e4\ub8e8\ub294 \uacbd\uc6b0\uc785\ub2c8\ub2e4. Dart \uc5b8\uc5b4\uc758 Async \uae30\ub2a5\uc740 \uc774\ub7f0 \uc2dc\uac04\uc774 \ub9ce\uc774 \uac78\ub9ac\ub294 \uc791\uc5c5\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uae30\ub2e4\ub9ac\uc9c0 \uc54a\uace0 \ubc14\ub85c \ub2e4\uc74c \ub3d9\uc791\uc744 \uc774\uc5b4 \ub098\uac08\uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc774\ub7f0 \uae30\ub2a5\uc774 \ud3ec\ud568\ub41c \ud568\uc218\ub4e4\uc740 \ub9ac\ud134 \uac12\uc73c\ub85c Future \ud639\uc740","og:url":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/07\/06\/dart-programmer-25\/","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-07-06T00:00:48+00:00","article:modified_time":"2020-04-05T10:02:19+00:00","twitter:card":"summary_large_image","twitter:title":"Dart Programmer \ub418\uae30 [25] - Welcome to Dr.Sungwon","twitter:description":"&lt; Dart \uae30\ucd08\ubb38\ubc95 - Asynchrony Support &gt; \ud504\ub85c\uadf8\ub7a8\uc774 \ub3d9\uc791\ud558\ub2e4 \ubcf4\uba74, \uc2dc\uac04\uc774 \ub9ce\uc774 \uc18c\uc694\ub418\ub294 \uc791\uc5c5\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub300\ud45c\uc801\uc778 \uacbd\uc6b0\uac00, \ub300\ub7c9\uc758 \ub370\uc774\ud0c0\ub97c \uc77d\uace0 \ucc98\ub9ac\ud558\uac70\ub098, \uc544\ub2c8\uba74 \uc800\uc18d\uc758 \uc785\ucd9c\ub825 \uc7a5\uce58\ub97c \ub2e4\ub8e8\ub294 \uacbd\uc6b0\uc785\ub2c8\ub2e4. Dart \uc5b8\uc5b4\uc758 Async \uae30\ub2a5\uc740 \uc774\ub7f0 \uc2dc\uac04\uc774 \ub9ce\uc774 \uac78\ub9ac\ub294 \uc791\uc5c5\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uae30\ub2e4\ub9ac\uc9c0 \uc54a\uace0 \ubc14\ub85c \ub2e4\uc74c \ub3d9\uc791\uc744 \uc774\uc5b4 \ub098\uac08\uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc774\ub7f0 \uae30\ub2a5\uc774 \ud3ec\ud568\ub41c \ud568\uc218\ub4e4\uc740 \ub9ac\ud134 \uac12\uc73c\ub85c Future \ud639\uc740","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":"602","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:31","updated":"2025-12-16 23:35:39","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 [25]\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 [25]","link":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/07\/06\/dart-programmer-25\/"}],"_links":{"self":[{"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts\/602"}],"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=602"}],"version-history":[{"count":6,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts\/602\/revisions"}],"predecessor-version":[{"id":613,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts\/602\/revisions\/613"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/media\/975"}],"wp:attachment":[{"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/media?parent=602"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/categories?post=602"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/tags?post=602"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}