{"id":992,"date":"2021-06-21T23:22:50","date_gmt":"2021-06-21T14:22:50","guid":{"rendered":"http:\/\/batmask.dothome.co.kr\/?p=992"},"modified":"2025-09-12T17:53:32","modified_gmt":"2025-09-12T08:53:32","slug":"kotlin-inline-%ec%a0%95%eb%a6%ac","status":"publish","type":"post","link":"http:\/\/batmask.net\/index.php\/2021\/06\/21\/992\/","title":{"rendered":"Kotlin: inline \uc815\ub9ac"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Inline<\/h3>\n\n\n\n<p>\ucf54\ud2c0\ub9b0\uc5d0\uc11c higher-order function\uc5d0 \uc0ac\uc6a9\ub418\ub294 lambda \ud45c\ud604\uc2dd\uc740 \uc0c8\ub85c\uc6b4 \ud568\uc218\uac1d\uccb4\ub97c \uc0dd\uc131\ud558\uac8c \ub41c\ub2e4. \uc77c\uc0c1\uc801\uc73c\ub85c \uc0ac\uc6a9\ub418\ub294 lambda \ud45c\ud604\uc2dd\uc774 \ub9e4\uc6b0 \uac04\ub2e8\ud55c \ud615\ud0dc\uc784\uc744 \uc0dd\uac01\ud558\uba74, \ub9e4\ubc88 \uc0ac\uc6a9\uc2dc \uac1d\uccb4\ub97c \uc0dd\uc131\ud558\uace0 \uba54\ubaa8\ub9ac\ub97c \ud560\ub2f9\ud558\ub294\uac8c \uc0c1\ub2f9\ud55c \uc624\ubc84\ud5e4\ub4dc\uc784\uc744 \uc54c \uc218 \uc788\ub2e4. \uc774\ub7ec\ud55c \uc624\ubc84\ud5e4\ub4dc\ub97c \uc5c6\uc560\uae30 \uc704\ud574, \ud568\uc218\uac1d\uccb4\ub97c \uc0dd\uc131\ud558\uc9c0 \uc54a\uace0 \ud568\uc218\uc548\uc758 \ucf54\ub4dc\ub97c \uc9c1\uc811 \ub123\uc5b4\uc8fc\ub3c4\ub85d \ud558\ub294 \ud0a4\uc6cc\ub4dc\uac00 &#8216;inline&#8217;\uc774\ub2e4. <\/p>\n\n\n\n<p>\uac04\ub2e8\ud55c \ucf54\ub4dc\ub97c \uac00\uc9c0\uace0 \ud655\uc778\ud574\ubcf4\uc790. <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>fun highOrderFunc(lambdaFunc: () -> Unit){\n    lambdaFunc()\n}\n\nfun main(args: Array&lt;String>) {\n    highOrderFunc { println(\"What happened?\") }\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">fun<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">highOrderFunc<\/span><span style=\"color: #ADBAC7\">(lambdaFunc: () <\/span><span style=\"color: #F47067\">-&gt;<\/span><span style=\"color: #ADBAC7\"> Unit){<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">lambdaFunc<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">fun<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">main<\/span><span style=\"color: #ADBAC7\">(args: <\/span><span style=\"color: #F69D50\">Array<\/span><span style=\"color: #ADBAC7\">&lt;<\/span><span style=\"color: #F69D50\">String<\/span><span style=\"color: #ADBAC7\">&gt;) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">highOrderFunc<\/span><span style=\"color: #ADBAC7\"> { <\/span><span style=\"color: #DCBDFB\">println<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;What happened?&quot;<\/span><span style=\"color: #ADBAC7\">) }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>lambda \ud568\uc218\ub97c \uc778\uc790\ub85c \uac16\ub294 \uac04\ub2e8\ud55c higher-order function\uc744 \uad6c\ud604\ud588\ub2e4. \uc774\ub97c \uc790\ubc14\ucf54\ub4dc\ub85c \ubcc0\ud658\ud574\ubcf4\uba74 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>public final class MainKt {\n   public static final void highOrderFunc(@NotNull Function0 lambdaFunc) {\n      Intrinsics.checkNotNullParameter(lambdaFunc, \"lambdaFunc\");\n      lambdaFunc.invoke();\n   }\n\n   public static final void main(@NotNull String[] args) {\n      Intrinsics.checkNotNullParameter(args, \"args\");\n      highOrderFunc((Function0)null.INSTANCE);\n   }\n}\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">final<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">class<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">MainKt<\/span><span style=\"color: #ADBAC7\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">   <\/span><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> static <\/span><span style=\"color: #F47067\">final<\/span><span style=\"color: #ADBAC7\"> void <\/span><span style=\"color: #DCBDFB\">highOrderFunc<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F69D50\">@NotNull<\/span><span style=\"color: #ADBAC7\"> Function0 lambdaFunc) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      Intrinsics.<\/span><span style=\"color: #DCBDFB\">checkNotNullParameter<\/span><span style=\"color: #ADBAC7\">(lambdaFunc, <\/span><span style=\"color: #96D0FF\">&quot;lambdaFunc&quot;<\/span><span style=\"color: #ADBAC7\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      lambdaFunc.<\/span><span style=\"color: #DCBDFB\">invoke<\/span><span style=\"color: #ADBAC7\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">   }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">   <\/span><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> static <\/span><span style=\"color: #F47067\">final<\/span><span style=\"color: #ADBAC7\"> void <\/span><span style=\"color: #DCBDFB\">main<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F69D50\">@NotNull<\/span><span style=\"color: #ADBAC7\"> String[] args) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      Intrinsics.<\/span><span style=\"color: #DCBDFB\">checkNotNullParameter<\/span><span style=\"color: #ADBAC7\">(args, <\/span><span style=\"color: #96D0FF\">&quot;args&quot;<\/span><span style=\"color: #ADBAC7\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      <\/span><span style=\"color: #DCBDFB\">highOrderFunc<\/span><span style=\"color: #ADBAC7\">((Function0)<\/span><span style=\"color: #6CB6FF\">null<\/span><span style=\"color: #ADBAC7\">.INSTANCE);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">   }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\ubc14\uc774\ud2b8\ucf54\ub4dc\ub97c \uac70\uccd0 \uc0dd\uc131\ub41c \uc790\ubc14\ucf54\ub4dc\ub77c \uc870\uae08 \ubcf5\uc7a1\ud574 \ubcf4\uc774\uc9c0\ub9cc, highOrderFunc() \uc758 \uc778\uc790\ub85c Function0 \ud0c0\uc785\uc758 \uac1d\uccb4\ub97c \uc0dd\uc131\ud558\uace0 \uc774 \uac1d\uccb4\uc758 invoke() \uba54\uc18c\ub4dc\ub97c \ud638\ucd9c\ud574\uc11c \uc2e4\ud589\ud558\ub294\uac78 \uc54c \uc218 \uc788\ub2e4. \uadf8\ub807\ub2e4\uba74, inline\uc744 \uc0ac\uc6a9\uc2dc \uc5b4\ub5bb\uac8c \ubcc0\ud558\ub294\uc9c0 \uc0b4\ud3b4\ubcf4\uc790.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>inline fun highOrderFunc(lambdaFunc: () -> Unit){\n    lambdaFunc()\n}\n\nfun main(args: Array&lt;String>) {\n    highOrderFunc { println(\"What happened?\") }\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">inline<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">fun<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">highOrderFunc<\/span><span style=\"color: #ADBAC7\">(lambdaFunc: () <\/span><span style=\"color: #F47067\">-&gt;<\/span><span style=\"color: #ADBAC7\"> Unit){<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">lambdaFunc<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">fun<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">main<\/span><span style=\"color: #ADBAC7\">(args: <\/span><span style=\"color: #F69D50\">Array<\/span><span style=\"color: #ADBAC7\">&lt;<\/span><span style=\"color: #F69D50\">String<\/span><span style=\"color: #ADBAC7\">&gt;) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">highOrderFunc<\/span><span style=\"color: #ADBAC7\"> { <\/span><span style=\"color: #DCBDFB\">println<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;What happened?&quot;<\/span><span style=\"color: #ADBAC7\">) }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>inline \ud0a4\uc6cc\ub4dc\ub97c \ud568\uc218\uc55e\uc5d0 \ubd99\uc5ec\uc92c\ub2e4. \uc774\uac78 \uc790\ubc14 \ucf54\ub4dc\ub85c \ubcc0\ud658\ud574\ubcf4\uba74,<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>public final class MainKt {\n   public static final void highOrderFunc(@NotNull Function0 lambdaFunc) {\n      int $i$f$highOrderFunc = 0;\n      Intrinsics.checkNotNullParameter(lambdaFunc, \"lambdaFunc\");\n      lambdaFunc.invoke();\n   }\n\n   public static final void main(@NotNull String[] args) {\n      Intrinsics.checkNotNullParameter(args, \"args\");\n      int $i$f$highOrderFunc = false;\n      int var2 = false;\n      String var3 = \"What happened?\";\n      boolean var4 = false;\n      System.out.println(var3);\n   }\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">final<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">class<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">MainKt<\/span><span style=\"color: #ADBAC7\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">   <\/span><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> static <\/span><span style=\"color: #F47067\">final<\/span><span style=\"color: #ADBAC7\"> void <\/span><span style=\"color: #DCBDFB\">highOrderFunc<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F69D50\">@NotNull<\/span><span style=\"color: #ADBAC7\"> Function0 lambdaFunc) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      int $i$f$highOrderFunc <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">0<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      Intrinsics.<\/span><span style=\"color: #DCBDFB\">checkNotNullParameter<\/span><span style=\"color: #ADBAC7\">(lambdaFunc, <\/span><span style=\"color: #96D0FF\">&quot;lambdaFunc&quot;<\/span><span style=\"color: #ADBAC7\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      lambdaFunc.<\/span><span style=\"color: #DCBDFB\">invoke<\/span><span style=\"color: #ADBAC7\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">   }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">   <\/span><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> static <\/span><span style=\"color: #F47067\">final<\/span><span style=\"color: #ADBAC7\"> void <\/span><span style=\"color: #DCBDFB\">main<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F69D50\">@NotNull<\/span><span style=\"color: #ADBAC7\"> String[] args) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      Intrinsics.<\/span><span style=\"color: #DCBDFB\">checkNotNullParameter<\/span><span style=\"color: #ADBAC7\">(args, <\/span><span style=\"color: #96D0FF\">&quot;args&quot;<\/span><span style=\"color: #ADBAC7\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      int $i$f$highOrderFunc <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">false<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      int var2 <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">false<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      String var3 <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;What happened?&quot;<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      boolean var4 <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">false<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      System.out.<\/span><span style=\"color: #DCBDFB\">println<\/span><span style=\"color: #ADBAC7\">(var3);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">   }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>inline\uc774 \ubd99\uc740 \ud568\uc218\ub97c \ud638\ucd9c\ud558\ub294 \ubd80\ubd84\uc5d0\ub294 \ud568\uc218\ud638\ucd9c\uc774 \uc5c6\uc774, \uadf8 \ud568\uc218\uc758 \ucf54\ub4dc\uac00 \uc9c1\uc811 \ub4e4\uc5b4\uac00\ub294\uac78 \ud655\uc778\ud560 \uc218 \uc788\ub2e4. inline\uc774\ub77c\ub294 \ud0a4\uc6cc\ub4dc \uadf8\ub300\ub85c, \ub77c\uc778\uc5d0 \uc9c1\uc811 \ucf54\ub4dc\uac00 \uc0bd\uc785\ub41c\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">noinline<\/h3>\n\n\n\n<p>\uc774\uc81c \uc870\uae08 \ub354 \uae4a\uc774 \ub4e4\uc5b4\uac00\ubcf4\uc790. inline\uc774 \ud6a8\uc728\uc801\uc778\uac74 \uc54c\uac8c \ub418\uc5c8\ub2e4. \uadf8\ub7f0\ub370, \ub2e4\uc74c\uacfc \uac19\uc774 \uc778\uc790\ub85c \ubc1b\uc740 lambda \ud568\uc218\ub97c \ub2e4\ub978 \ud568\uc218\uc758 \uc778\uc790\ub85c \ub118\uaca8\uc8fc\uba74 \uc5b4\ub5bb\uac8c \ub420\uae4c? <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>inline fun highOrderFunc(lambdaFunc: () -> Unit){\n    \/\/lambdaFunc()\n    receiveLambdaFunc(lambdaFunc)\n}\n\nfun receiveLambdaFunc(lambdaFunc: () -> Unit){\n    println(\"receiveLambdaFunc\")\n    lambdaFunc()\n}\n\nfun main(args: Array&lt;String>) {\n    highOrderFunc { println(\"What happened?\") }\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">inline<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">fun<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">highOrderFunc<\/span><span style=\"color: #ADBAC7\">(lambdaFunc: () <\/span><span style=\"color: #F47067\">-&gt;<\/span><span style=\"color: #ADBAC7\"> Unit){<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #768390\">\/\/lambdaFunc()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">receiveLambdaFunc<\/span><span style=\"color: #ADBAC7\">(lambdaFunc)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">fun<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">receiveLambdaFunc<\/span><span style=\"color: #ADBAC7\">(lambdaFunc: () <\/span><span style=\"color: #F47067\">-&gt;<\/span><span style=\"color: #ADBAC7\"> Unit){<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">println<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;receiveLambdaFunc&quot;<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">lambdaFunc<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">fun<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">main<\/span><span style=\"color: #ADBAC7\">(args: <\/span><span style=\"color: #F69D50\">Array<\/span><span style=\"color: #ADBAC7\">&lt;<\/span><span style=\"color: #F69D50\">String<\/span><span style=\"color: #ADBAC7\">&gt;) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">highOrderFunc<\/span><span style=\"color: #ADBAC7\"> { <\/span><span style=\"color: #DCBDFB\">println<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;What happened?&quot;<\/span><span style=\"color: #ADBAC7\">) }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc2e4\ud589\ud558\uae30\ub3c4 \uc804\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc740 \uc5d0\ub7ec\ub97c \ub9de\ub294\ub2e4.<\/p>\n\n\n\n<p><span class=\"has-inline-color has-vivid-red-color\">Illegal usage of inline-parameter &#8216;lambdaFunc&#8217; in &#8216;public inline fun highOrderFunc(lambdaFunc: () -&gt; Unit): Unit defined in root package in file main.kt&#8217;. Add &#8216;noinline&#8217; modifier to the parameter declaration<\/span><\/p>\n\n\n\n<p>\uce5c\uc808\ud558\uac8c\ub3c4 \ub300\ucc98\ubc95\uae4c\uc9c0 \uc54c\ub824\uc8fc\uace0 \uc788\ub294\ub370, \ubc14\ub85c &#8216;noinline&#8217; \ud0a4\uc6cc\ub4dc\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc774\ub2e4. \ub2e4\uc74c\uacfc \uac19\uc774 \uc778\uc790\uc5d0 \ubd99\uc5ec\uc8fc\uba74 \ubb38\uc81c\uac00 \ud574\uacb0\ub418\ub294\uac78 \ud655\uc778 \ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>inline fun highOrderFunc( noinline lambdaFunc: () -> Unit){\n    \/\/lambdaFunc()\n    receiveLambdaFunc(lambdaFunc)\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">inline<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">fun<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">highOrderFunc<\/span><span style=\"color: #ADBAC7\">( <\/span><span style=\"color: #F47067\">noinline<\/span><span style=\"color: #ADBAC7\"> lambdaFunc: () <\/span><span style=\"color: #F47067\">-&gt;<\/span><span style=\"color: #ADBAC7\"> Unit){<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #768390\">\/\/lambdaFunc()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">receiveLambdaFunc<\/span><span style=\"color: #ADBAC7\">(lambdaFunc)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">non-local control flow<\/h3>\n\n\n\n<p>\ucf54\ud2c0\ub9b0\uc5d0\uc11c lambda function\uc5d0\uc11c\ub294 lable\uc744 \uc774\uc6a9\ud55c return\uc744 \uc81c\uc678\ud558\uace4 return\uc758 \uc0ac\uc6a9\uc774 \ud5c8\uc6a9\ub418\uc9c0 \uc54a\ub294\ub2e4. \uc0ac\uc6a9\ud558\uba74, \ubc14\ub85c \uc5d0\ub7ec\uac00 \uc7a1\ud788\ub294\uac78 \ud655\uc778\ud560 \uc218 \uc788\uc744 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>var myLambda = {\n    print(\"return not allowed\")\n    return \/\/ &lt;-- Error\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">var<\/span><span style=\"color: #ADBAC7\"> myLambda <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">print<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;return not allowed&quot;<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">return<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #768390\">\/\/ &lt;-- Error<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\ud765\ubbf8\ub86d\uac8c\ub3c4, inline \ud568\uc218\uc758 \uc778\uc790\ub85c \ub118\uc5b4\uac00\ub294 \uacbd\uc6b0\uc5d4 return\uc758 \uc0ac\uc6a9\uc774 \uac00\ub2a5\ud558\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>inline fun highOrderFunc( lambdaFunc: () -> Unit){\n    lambdaFunc()\n}\n\nfun main(args: Array&lt;String>) {\n    highOrderFunc {\n        println(\"What happened?\")\n        return \/\/ &lt;-- \ubb38\uc81c\uac00 \uc5c6\ub2e4?!\n    }\n    println(\"Can you see me?\")\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">inline<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">fun<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">highOrderFunc<\/span><span style=\"color: #ADBAC7\">( lambdaFunc: () <\/span><span style=\"color: #F47067\">-&gt;<\/span><span style=\"color: #ADBAC7\"> Unit){<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">lambdaFunc<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">fun<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">main<\/span><span style=\"color: #ADBAC7\">(args: <\/span><span style=\"color: #F69D50\">Array<\/span><span style=\"color: #ADBAC7\">&lt;<\/span><span style=\"color: #F69D50\">String<\/span><span style=\"color: #ADBAC7\">&gt;) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">highOrderFunc<\/span><span style=\"color: #ADBAC7\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #DCBDFB\">println<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;What happened?&quot;<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #F47067\">return<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #768390\">\/\/ &lt;-- \ubb38\uc81c\uac00 \uc5c6\ub2e4?!<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">println<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;Can you see me?&quot;<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc65c \ubb38\uc81c\uac00 \uc5c6\ub294\uc9c0 inline\uc758 \ud2b9\uc131\uc744 \uc774\ud574\ud558\uba74 \uc54c \uc218 \uc788\ub2e4. \ucef4\ud30c\uc77c \ud0c0\uc784\uc5d0 \ucf54\ub4dc\uac00 \ubcc0\ud658\ub418\uba70, lambda \ud568\uc218\uac00 \ud638\ucd9c\ub418\ub294\uac8c \uc544\ub2c8\ub77c \uc9c1\uc811 \uc0bd\uc785\ub418\uae30 \ub54c\ubb38\uc5d0  return\uc744 \ub9cc\ub098\uac8c\ub418\uba74, inline \ud568\uc218\ub97c \ud638\ucd9c\ud558\ub294 \uc0c1\uc704\ud568\uc218\uac00 return \ub418\uba70 \uc2e4\ud589\uc774 \uc885\ub8cc\ub41c\ub2e4. \uc704 \ucf54\ub4dc \ub9c8\uc9c0\ub9c9\uc5d0 &#8220;Can you see me?&#8221;\ub97c \ucd9c\ub825\ud558\uac8c \ub418\uc5b4 \uc788\uc9c0\ub9cc, main\ud568\uc218\uac00 \uadf8\uc804\uc5d0 return\ub418\uc5b4 \ucd9c\ub825\ub418\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<p>\uc774\uc640\uac19\uc774 lambda\ub0b4\uc5d0 return\uc774 \uc788\uc73c\ub098, \uc774\ub97c \uac10\uc2f8\ub294 \uc0c1\uc704 \ud568\uc218\uac00 \uc885\ub8cc\ub418\ub294 return\uc744 non-local return \uc774\ub77c\uace0 \ubd80\ub978\ub2e4. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">crossinline<\/h3>\n\n\n\n<p>\ub9cc\uc57d, inline \ud568\uc218\uc5d0\uc11c \uc778\uc790\ub85c \ubc1b\uc740 lambda\ub97c \ub2e4\ub978 \uac1d\uccb4\ub97c \ub9cc\ub4e4\uc5b4 \ud560\ub2f9 \ud558\ub294 \uacbd\uc6b0\ub97c \uc0b4\ud3b4\ubcf4\uc790.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>inline fun highOrderFunc( lambdaFunc: () -> Unit){\n    val f = object: Runnable{\n        override fun run() = lambdaFunc()\n    }\n}\n\nfun main(args: Array&lt;String>) {\n    highOrderFunc {\n        println(\"What happened?\")\n    }\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">inline<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">fun<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">highOrderFunc<\/span><span style=\"color: #ADBAC7\">( lambdaFunc: () <\/span><span style=\"color: #F47067\">-&gt;<\/span><span style=\"color: #ADBAC7\"> Unit){<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">val<\/span><span style=\"color: #ADBAC7\"> f <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> object: <\/span><span style=\"color: #F69D50\">Runnable<\/span><span style=\"color: #ADBAC7\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #F47067\">override<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">fun<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">run<\/span><span style=\"color: #ADBAC7\">() <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">lambdaFunc<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">fun<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">main<\/span><span style=\"color: #ADBAC7\">(args: <\/span><span style=\"color: #F69D50\">Array<\/span><span style=\"color: #ADBAC7\">&lt;<\/span><span style=\"color: #F69D50\">String<\/span><span style=\"color: #ADBAC7\">&gt;) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">highOrderFunc<\/span><span style=\"color: #ADBAC7\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #DCBDFB\">println<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;What happened?&quot;<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc2e4\uc81c\ub85c\ub294 \ucef4\ud30c\uc77c \uc5d0\ub7ec\uac00 \ubc14\ub85c \ubc1c\uc0dd\ud558\uc9c0\ub9cc, \uc5b4\uca0c\ub4e0 \ucf54\ub4dc\ub97c java\ub85c \ubcc0\ud658\ud574 \ubcf4\uba74 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>public final class MainKt$main$$inlined$highOrderFunc$1 implements Runnable {\n   public void run() {\n      int var1 = false;\n      String var2 = \"What happened?\";\n      boolean var3 = false;\n      System.out.println(var2);\n   }\n}\n...\npublic final class MainKt {\n   ...\n   public static final void main(@NotNull String[] args) {\n      Intrinsics.checkNotNullParameter(args, \"args\");\n      int $i$f$highOrderFunc = false;\n      new MainKt$main$$inlined$highOrderFunc$1();\n   }\n}\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">final<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">class<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">MainKt<\/span><span style=\"color: #ADBAC7\">$main$$inlined$highOrderFunc$<\/span><span style=\"color: #6CB6FF\">1<\/span><span style=\"color: #ADBAC7\"> implements <\/span><span style=\"color: #DCBDFB\">Runnable<\/span><span style=\"color: #ADBAC7\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">   <\/span><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> void <\/span><span style=\"color: #DCBDFB\">run<\/span><span style=\"color: #ADBAC7\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      int var1 <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">false<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      String var2 <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;What happened?&quot;<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      boolean var3 <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">false<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      System.out.<\/span><span style=\"color: #DCBDFB\">println<\/span><span style=\"color: #ADBAC7\">(var2);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">   }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">..<\/span><span style=\"color: #ADBAC7\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">final<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">class<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">MainKt<\/span><span style=\"color: #ADBAC7\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">   <\/span><span style=\"color: #F47067\">..<\/span><span style=\"color: #ADBAC7\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">   <\/span><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> static <\/span><span style=\"color: #F47067\">final<\/span><span style=\"color: #ADBAC7\"> void <\/span><span style=\"color: #DCBDFB\">main<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F69D50\">@NotNull<\/span><span style=\"color: #ADBAC7\"> String[] args) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      Intrinsics.<\/span><span style=\"color: #DCBDFB\">checkNotNullParameter<\/span><span style=\"color: #ADBAC7\">(args, <\/span><span style=\"color: #96D0FF\">&quot;args&quot;<\/span><span style=\"color: #ADBAC7\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      int $i$f$highOrderFunc <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">false<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      new MainKt$main$$inlined$highOrderFunc$<\/span><span style=\"color: #DCBDFB\">1<\/span><span style=\"color: #ADBAC7\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">   }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>inline\uc73c\ub85c \ucf54\ub4dc\uac00 \uc0bd\uc785\ub410\uc9c0\ub9cc, Runnable\uc744 \uad6c\ud604\ud55c \uac1d\uccb4\ub97c \uc0dd\uc131\ud558\uace0 \uc788\uae30 \ub54c\ubb38\uc5d0, \uc0c8\ub85c \uc0dd\uc131\ud55c \uac1d\uccb4\uc758 run() \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \uc0bd\uc785\ub41c\uac78 \ubcfc \uc218 \uc788\ub2e4. \ub9cc\uc57d return\uc774 \ub4e4\uc5b4\uac04\ub2e4\uba74, run() \ud568\uc218\uc5d0 \ud3ec\ud568\ub418\uc5b4 run()\uc758 \uc885\ub8cc\ub97c \uc758\ubbf8\ud560 \uac83\uc774\ub2e4. \ucf54\ud2c0\ub9b0\uc5d0\uc11c inline\uc758 \uacbd\uc6b0\uc5d0 \ud55c\ud574\uc11c lambda\uc5d0 return\uc744 \ud5c8\uc6a9\ud558\uc9c0\ub9cc, \uc774\uc640\uac19\uc774 lambda\ub97c \ub2e4\ub978 \uacf3\uc5d0 \ud560\ub2f9\ud558\ub294 \uacbd\uc6b0, inline\uc774 \uc544\ub2cc \uacbd\uc6b0\uc640 \ub9c8\ucc2c\uac00\uc9c0\ub85c return\uc758 \uc0ac\uc6a9\uc744 \ubabb\ud558\uac8c \ud558\uace0 \uc788\ub2e4. \ubcf4\ub2e4 \uba85\ud655\ud558\uac8c \ud558\uae30\uc704\ud574, \uc774 \ub54c \uc0ac\uc6a9\ud558\ub294 \ud0a4\uc6cc\ub4dc\uac00 &#8216;crossinline&#8217;\uc774\ub2e4. \ub2e4\uc74c\uacfc \uac19\uc774, \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>inline fun highOrderFunc(crossinline lambdaFunc: () -> Unit){\n    val f = object: Runnable{\n        override fun run() = lambdaFunc()\n    }\n    Thread(f).start()\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">inline<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">fun<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">highOrderFunc<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F47067\">crossinline<\/span><span style=\"color: #ADBAC7\"> lambdaFunc: () <\/span><span style=\"color: #F47067\">-&gt;<\/span><span style=\"color: #ADBAC7\"> Unit){<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">val<\/span><span style=\"color: #ADBAC7\"> f <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> object: <\/span><span style=\"color: #F69D50\">Runnable<\/span><span style=\"color: #ADBAC7\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #F47067\">override<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">fun<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">run<\/span><span style=\"color: #ADBAC7\">() <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">lambdaFunc<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">Thread<\/span><span style=\"color: #ADBAC7\">(f).<\/span><span style=\"color: #DCBDFB\">start<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>lambda\uc5d0\uc11c return\uc758 \uc0ac\uc6a9\uc744 inline\uc758 \ud2b9\uc218\ud55c \uacbd\uc6b0\uc5d0\ub9cc \ud5c8\uc6a9\ud558\ub294 \ubb38\uc81c\ub294 \ub9e4\uc6b0 \ud63c\ub780\uc2a4\ub7fd\uac8c \ub9cc\ub4e0\ub2e4. \uc65c \uadf8\ub807\uac8c \ub9cc\ub4e4\uc5c8\uc744\uae4c? <\/p>\n\n\n\n<p>\uc5ec\ub7ec\uac00\uc9c0\ub97c \ucc3e\uc544\ubd10\ub3c4 \uba85\ud655\ud558\uc9c0\ub294 \uc54a\uc544\uc11c, \uac1c\ub150\uc801\uc778 \ubb38\uc81c\uc77c\uac70\ub77c \uc0dd\uac01\ud558\uba70 \uc815\ub9ac\ud574\ubcf4\uba74 \ub2e4\uc74c\uacfc \uac19\ub2e4.  <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><span class=\"has-inline-color has-vivid-red-color\">\uccab\uc9f8, lambda\uc758 \ud2b9\uc218\uc131\uc744 \uc9da\uace0 \ub118\uc5b4\uac00\uc790\uba74, \ud568\uc218\ucc98\ub7fc \uc4f0\uc774\uc9c0\ub9cc, \ub9c8\uc9c0\ub9c9 \ub77c\uc778\uc758 \uac12\uc744 \ub3cc\ub824\uc8fc\ub294 expression\uc774\ub2e4. \ucf54\ud2c0\ub9b0\uc5d0\uc11c return\uc740 \uac00\uc7a5 \uac00\uae4c\uc6b4 \ud568\uc218\ub97c \ube60\uc838\ub098\uac00\ub294 \uc758\ubbf8\ub9cc \uac16\uace0\uc788\uace0, lambda\uc5d0\ub294 \uad00\uc5ec\ud558\uc9c0 \uc54a\ub294\ub2e4. lambda\ub294 expression\uc774\uc9c0\ub9cc, \ud568\uc218\ucc98\ub7fc \ub2e4\ub978 \uacf3\uc5d0 \uc778\uc790\ub85c \uc804\ub2ec\ub3c4 \ub418\uace0, \ud560\ub2f9\ub3c4 \ub41c\ub2e4. \uc774\ub7f0 \uacbd\uc6b0, lambda\ub0b4\uc5d0 return\ubb38\uc744 \uc0ac\uc6a9\ud558\uba74, \uc2e4\ud589\uc911\uc5d0 \uc5b4\ub5a4 \ud568\uc218\ub97c \ube60\uc838\ub098\uac00\uac8c \ub420\uc9c0 \uc54c \uc218\uac00 \uc5c6\ub2e4. \uc774\uac83\uc774 lambda\uc5d0\uc11c return\uc744 \uae08\uc9c0\ud558\ub294 \uc774\uc720\ub77c\uace0 \uc0dd\uac01\ud55c\ub2e4.<\/span><\/strong><\/li>\n\n\n\n<li><strong><span class=\"has-inline-color has-vivid-red-color\">\ub458\uc9f8, \uba85\uc2dc\uc801\uc73c\ub85c lable\uc744 \ud45c\uae30\ud55c return\uc774 \uac00\ub2a5\ud55c \uac83\ub3c4 \uac19\uc740 \uc774\uc720\ub77c\uace0 \ubcf4\uc778\ub2e4. lable\uc774 \ubd99\uc740 \uacbd\uc6b0\ub294 return\uc73c\ub85c \ube60\uc838\ub098\uac00\ub294\uac8c \uc5b4\ub5a4 \ud568\uc218\uc778\uc9c0 \uba85\ud655\ud558\uae30 \ub54c\ubb38\uc774\ub2e4.<\/span><\/strong><\/li>\n\n\n\n<li><strong><span class=\"has-inline-color has-vivid-red-color\">\uc14b\uc9f8, \uc608\uc678\uc801\uc73c\ub85c inline\uc758 \uacbd\uc6b0\uc5d0\ub294, \ucf54\ub4dc \ubcc0\ud658\uc2dc lambda\uc758 \uc874\uc7ac \uc790\uccb4\uac00 \uc5c6\uc5b4\uc9c0\uae30 \ub54c\ubb38\uc5d0, \uc77c\ubc18 expression\uacfc \ub3d9\uc77c\ud558\uac8c\ub418\uace0, return\ubb38\uc758 \uc0ac\uc6a9\ub3c4 \uba85\uc2dc\uc801\uc73c\ub85c \uc5b4\ub5a4 \ud568\uc218\uac00 \uc885\ub8cc\ub418\ub294\uc9c0 \uc54c \uc218 \uc788\uae30 \ub54c\ubb38\uc5d0 lable\uc744 \ud45c\uae30\ud55c return\ubb38\uacfc \ub3d9\uc77c\ud558\uac8c \ud5c8\uc6a9\ub41c\ub2e4\uace0 \uc0dd\uac01\ub41c\ub2e4.<\/span><\/strong><\/li>\n\n\n\n<li><strong><span class=\"has-inline-color has-vivid-red-color\">\ub9c8\uc9c0\ub9c9\uc73c\ub85c, inline\uc774\uc9c0\ub9cc, \ub2e4\ub978 \uacf3\uc5d0 \ud560\ub2f9\ud558\ub294 \uacbd\uc6b0\uc5d0\ub294 \uc55e\uc758 \uae30\uc900\uc744 \uc801\uc6a9\ud558\uba74 return\ubb38\uc774 \uc5b4\ub5a4 \ud568\uc218\ub97c \uc885\ub8cc\uc2dc\ud0ac\uc9c0 \uc54c \uc218 \uc5c6\uae30 \ub54c\ubb38\uc5d0 \uae08\uc9c0\ub41c\ub2e4\uace0 \uc0dd\uac01\ud558\uba74 \uba85\ud655\ud558\ub2e4.<\/span><\/strong><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"771\" height=\"57\" src=\"http:\/\/batmask.dothome.co.kr\/wordpress\/wp-content\/uploads\/2020\/04\/seperator.png\" alt=\"seperator\" class=\"wp-image-381\" srcset=\"http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2020\/04\/seperator.png 771w, http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2020\/04\/seperator-300x22.png 300w, http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2020\/04\/seperator-768x57.png 768w\" sizes=\"auto, (max-width: 771px) 100vw, 771px\" \/><\/figure>\n\n\n\n<p> \uc2dc\uc791\uc740 crossinline\uc744 \ubab0\ub77c\uc11c\uc600\ub2e4. \uc624\ub798 \ubd10\ub3c4 \uc774\ud574\uac00 \uc548\ub418\uc5c8\uae30 \ub54c\ubb38\uc5d0 \uc774 \uae30\ud68c\uc5d0 \uc544\uc608 inline \uad00\ub828 \uc815\ub9ac\ub97c \ud574\ubd24\ub2e4. inline\uacfc crossinline\uc740 \uad49\uc7a5\ud788 \ud754\ud788 \ubcf4\uc774\ub2c8\uae4c \uc694\uc815\ub3c4\ub294 \uc54c\uc544\ub458 \ud544\uc694\uac00 \uc788\uc744\uac70 \uac19\ub124.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Inline \ucf54\ud2c0\ub9b0\uc5d0\uc11c higher-order function\uc5d0 \uc0ac\uc6a9\ub418\ub294 lambda \ud45c\ud604\uc2dd\uc740 \uc0c8\ub85c\uc6b4 \ud568\uc218\uac1d\uccb4\ub97c \uc0dd\uc131\ud558\uac8c \ub41c\ub2e4. \uc77c\uc0c1\uc801\uc73c\ub85c \uc0ac\uc6a9\ub418\ub294 lambda \ud45c\ud604\uc2dd\uc774 \ub9e4\uc6b0 \uac04\ub2e8\ud55c \ud615\ud0dc\uc784\uc744 \uc0dd\uac01\ud558\uba74, \ub9e4\ubc88 \uc0ac\uc6a9\uc2dc \uac1d\uccb4\ub97c \uc0dd\uc131\ud558\uace0 \uba54\ubaa8\ub9ac\ub97c \ud560\ub2f9\ud558\ub294\uac8c \uc0c1\ub2f9\ud55c \uc624\ubc84\ud5e4\ub4dc\uc784\uc744 \uc54c \uc218 \uc788\ub2e4. \uc774\ub7ec\ud55c \uc624\ubc84\ud5e4\ub4dc\ub97c \uc5c6\uc560\uae30 \uc704\ud574, \ud568\uc218\uac1d\uccb4\ub97c \uc0dd\uc131\ud558\uc9c0 \uc54a\uace0 \ud568\uc218\uc548\uc758 \ucf54\ub4dc\ub97c \uc9c1\uc811 \ub123\uc5b4\uc8fc\ub3c4\ub85d \ud558\ub294 \ud0a4\uc6cc\ub4dc\uac00 &#8216;inline&#8217;\uc774\ub2e4. \uac04\ub2e8\ud55c \ucf54\ub4dc\ub97c \uac00\uc9c0\uace0 \ud655\uc778\ud574\ubcf4\uc790. lambda \ud568\uc218\ub97c \uc778\uc790\ub85c \uac16\ub294 \uac04\ub2e8\ud55c higher-order function\uc744 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34],"tags":[221,219,38,90,220],"class_list":["post-992","post","type-post","status-publish","format-standard","hentry","category-kotlin","tag-crossinline","tag-inline","tag-kotlin","tag-lambda","tag-noinline"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/posts\/992","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/comments?post=992"}],"version-history":[{"count":13,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/posts\/992\/revisions"}],"predecessor-version":[{"id":3531,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/posts\/992\/revisions\/3531"}],"wp:attachment":[{"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/media?parent=992"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/categories?post=992"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/tags?post=992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}