{"id":271887,"date":"2022-08-04T07:20:30","date_gmt":"2022-08-04T06:20:30","guid":{"rendered":"https:\/\/blog.jetbrains.com\/kotlin\/2022\/07\/a-new-approach-to-incremental-compilation-in-kotlin\/"},"modified":"2025-09-18T11:38:14","modified_gmt":"2025-09-18T10:38:14","slug":"a-new-approach-to-incremental-compilation-in-kotlin","status":"publish","type":"kotlin","link":"https:\/\/blog.jetbrains.com\/ko\/kotlin\/2022\/08\/a-new-approach-to-incremental-compilation-in-kotlin\/","title":{"rendered":"Kotlin\uc758 \uc99d\ubd84 \ucef4\ud30c\uc77c\uc5d0 \ub300\ud55c \uc0c8\ub85c\uc6b4 \uc811\uadfc \ubc29\uc2dd"},"content":{"rendered":"<p>Kotlin 1.7.0\uc5d0\uc11c\ub294 \ubaa8\ub4c8 \uac04 \uc885\uc18d\uc131\uc758 \ud504\ub85c\uc81d\ud2b8 \ubcc0\uacbd \uc0ac\ud56d\uc5d0 \ub300\ud55c \uc99d\ubd84 \ucef4\ud30c\uc77c\uc744 \uc0c8\ub86d\uac8c \uac1c\uc120\ud588\uc2b5\ub2c8\ub2e4. \uc774 \uc0c8\ub85c\uc6b4 \uc811\uadfc \ubc29\uc2dd \ub355\ubd84\uc5d0 \uc99d\ubd84 \ucef4\ud30c\uc77c\uc5d0 \ub300\ud55c \uc774\uc804\uc758 \ud55c\uacc4\uac00 \ud574\uc18c\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\uc81c Kotlin\uc774 \uc544\ub2cc \uc885\uc18d \ubaa8\ub4c8 \ub0b4\uc5d0\uc11c \ubcc0\uacbd\uc774 \uc788\ub294 \uacbd\uc6b0\uc5d0 \uc9c0\uc6d0\uc774 \ub418\uba70 <a href=\"https:\/\/docs.gradle.org\/current\/userguide\/build_cache.html\" target=\"_blank\" rel=\"noopener\">Gradle \ube4c\ub4dc \uce90\uc2dc<\/a>\uc640 \ud638\ud658\ub429\ub2c8\ub2e4. \ucef4\ud30c\uc77c\uc774 \ub418\uc9c0 \uc54a\uc740 \uacbd\uc6b0\uc5d0 \ub300\ud55c \uc9c0\uc6d0\ub3c4 \ud5a5\uc0c1\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ubaa8\ub4e0 \uac1c\uc120 \uc0ac\ud56d\uc5d0 \ud798\uc785\uc5b4, \uc694\uad6c\ub418\ub294 \uc804\uccb4 \ubaa8\ub4c8 \ubc0f \ud30c\uc77c \uc7ac\ucef4\ud30c\uc77c \ud69f\uc218\uac00 \uc904\uc5b4 \uc804\uccb4 \ucef4\ud30c\uc77c \uc2dc\uac04\uc774 \ub2e8\ucd95\ub429\ub2c8\ub2e4.<\/p>\n<p>\uc99d\ubd84 \ucef4\ud30c\uc77c\uc5d0 \ub300\ud55c \uc0c8\ub85c\uc6b4 \ubc29\uc2dd\uc740 \ud604\uc7ac <a href=\"https:\/\/kotlinlang.org\/docs\/components-stability.html\" target=\"_blank\" rel=\"noopener\">\uc2e4\ud5d8\uc801<\/a> \ub2e8\uacc4\uc774\uba70 Gradle \ube4c\ub4dc \uc2dc\uc2a4\ud15c\uc5d0\uc11c JVM \ubc31\uc5d4\ub4dc\ub9cc \uc9c0\uc6d0\ud569\ub2c8\ub2e4.<\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"\uc0c8\ub85c\uc6b4 \uc811\uadfc \ubc29\uc2dd \uc0ac\uc6a9\ud574\ubcf4\uae30\" href=\"https:\/\/blog.jetbrains.com\/kotlin\/2022\/07\/a-new-approach-to-incremental-compilation-in-kotlin\/#how-to\">\uc0c8\ub85c\uc6b4 \uc811\uadfc \ubc29\uc2dd \uc0ac\uc6a9\ud574\ubcf4\uae30<\/a><\/p>\n<h2>\ubca4\uce58\ub9c8\ud06c<\/h2>\n<p>Gradle \ube4c\ub4dc \uce90\uc2dc\ub97c \uc0ac\uc6a9\ud558\uac70\ub098 Kotlin\uc774 \uc544\ub2cc Gradle \ubaa8\ub4c8\uc744 \uc790\uc8fc \ubcc0\uacbd\ud558\ub294 \uacbd\uc6b0\uc5d0 \uc0c8\ub85c\uc6b4 \uc811\uadfc \ubc29\uc2dd\uc5d0\uc11c \uccb4\uac10\ud558\ub294 \uac1c\uc120 \ud6a8\uacfc\uac00 \uac00\uc7a5 \ud074 \uac83\uc785\ub2c8\ub2e4. \ub2e4\uc74c\uc740 kotlin-gradle-plugin \ubaa8\ub4c8\uc5d0\uc11c Kotlin \ud504\ub85c\uc81d\ud2b8\uc5d0 \ub300\ud574 \uce21\uc815\ud55c \uba87 \uac00\uc9c0 \ubca4\uce58\ub9c8\ud06c \uacb0\uacfc\uc785\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-264932\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/07\/A-New-Approach-to-Incremental-Compilation-in-Kotlin-EN-2_3.png\" alt=\"\" width=\"1920\" height=\"1080\" \/><\/figure>\n<h2 id=\"how-to\">\ud65c\uc131\ud654\ud558\ub294 \ubc29\ubc95<\/h2>\n<p>\uc99d\ubd84 \ucef4\ud30c\uc77c\uc5d0 \uc774 \uc0c8\ub85c\uc6b4 \uc811\uadfc \ubc29\uc2dd\uc744 \uc0ac\uc6a9\ud558\ub824\uba74 <code>gradle.properties<\/code> \ud30c\uc77c\uc5d0\uc11c \ub2e4\uc74c \uc635\uc158\uc744 \uc124\uc815\ud558\uc138\uc694.<\/p>\n<p><code>kotlin.incremental.useClasspathSnapshot=true<\/code><\/p>\n<p>\uc99d\ubd84 \ucef4\ud30c\uc77c\uc744 \uc548\uc815\ub418\uace0 \uc2e0\ub8b0\ud560 \uc218 \uc788\ub294 \uc0c1\ud0dc\ub85c \ub9cc\ub4dc\ub294 \uc77c\uc740 \ub9e4\uc6b0 \uc911\uc694\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc774 \ucef4\ud30c\uc77c \ubc29\uc2dd\uc744 \uc0ac\uc6a9\ud558\uba74\uc11c \ubc1c\uc0dd\ud558\ub294 \ubb38\uc81c\ub098 \ube44\uc815\uc0c1\uc801\uc778 \ub3d9\uc791\uc774 \uc788\uc744 \uacbd\uc6b0 \uaf2d \uc800\ud76c\uc5d0\uac8c \uc54c\ub824\uc8fc\uc2dc\uae30\ub97c \ubd80\ud0c1\ub4dc\ub9bd\ub2c8\ub2e4.<\/p>\n<p>\uc99d\ubd84 \ucef4\ud30c\uc77c \ubb38\uc81c\ub294 \ubc1c\uc0dd \ud6c4 \uc5ec\ub7ec \ub77c\uc6b4\ub4dc\uac00 \uc9c0\ub09c \ud6c4\uc5d0\uc57c \ub098\ud0c0\ub098\ub294 \uacbd\uc6b0\uac00 \uc788\uc73c\ubbc0\ub85c <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2022\/06\/introducing-kotlin-build-reports\/\">\ube4c\ub4dc \ubcf4\uace0\uc11c<\/a>\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubcc0\uacbd \ubc0f \ucef4\ud30c\uc77c \uae30\ub85d\uc744 \ucd94\uc801\ud558\ub294 \uac83\uc774 \uc88b\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\uba74 \uc7ac\ud604 \uac00\ub2a5\ud55c \ubc84\uadf8 \ubcf4\uace0\uc11c\ub97c \uc81c\uacf5\ud558\ub294 \ub370 \ub3c4\uc6c0\uc774 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\ub0b4\ubd80\uc5d0 \uc228\uaca8\uc9c4 \uae30\ub2a5<\/h2>\n<h3>\ucef4\ud30c\uc77c \ud68c\ud53c \ubc0f \uc99d\ubd84 \ucef4\ud30c\uc77c<\/h3>\n<p><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2020\/09\/the-dark-secrets-of-fast-compilation-for-kotlin\/\">Kotlin\uc758 \ube60\ub978 \ucef4\ud30c\uc77c\uc5d0 \uc228\uaca8\uc9c4 \ube44\ubc00<\/a>, <a href=\"https:\/\/docs.gradle.org\/current\/userguide\/java_plugin.html#sec:incremental_compile\" target=\"_blank\" rel=\"noopener\">Gradle\uc5d0\uc11c \uc99d\ubd84 Java \ucef4\ud30c\uc77c<\/a> \ubc0f <a href=\"https:\/\/docs.gradle.org\/current\/userguide\/java_plugin.html#sec:java_compile_avoidance\" target=\"_blank\" rel=\"noopener\">Gradle\uc758 \ucef4\ud30c\uc77c \ud68c\ud53c<\/a>\uc5d0 \uc775\uc219\ud558\ub2e4\uba74 \uc774 \uc139\uc158\uc744 \uac74\ub108\ub6f0\uc154\ub3c4 \ub429\ub2c8\ub2e4.<\/p>\n<p>\ube60\ub978 \ucef4\ud30c\uc77c\uc758 \ud575\uc2ec \uc694\uc18c \uc911 \ud558\ub098\ub294 Application Binary Interface(ABI)\uc785\ub2c8\ub2e4. \ub450 \ud074\ub798\uc2a4\ub294 \ucef4\ud30c\uc77c \ud074\ub798\uc2a4 \uacbd\ub85c\ub85c \uc0ac\uc6a9\ub420 \ub54c \uc0c1\ud638 \uad50\ud658\uc774 \uac00\ub2a5\ud558\ub2e4\uba74, ABI\uac00 \ub3d9\uc77c\ud569\ub2c8\ub2e4.<\/p>\n<p>\ub2e4\uc74c \uc0d8\ud50c Java \ud074\ub798\uc2a4\ub97c \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4:<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-264944\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/07\/A-New-Approach-to-Incremental-Compilation-in-Kotlin-EN-2_4.png\" alt=\"\" width=\"1920\" height=\"1080\" \/><\/figure>\n<p>\uc774\ub7ec\ud55c \ud074\ub798\uc2a4\uc5d0\ub294 \ub3d9\uc77c\ud55c ABI\uac00 \uc788\uc2b5\ub2c8\ub2e4. <code>private1()<\/code> \ubc0f <code>private2()<\/code> \uba54\uc11c\ub4dc\ub294 \ubaa8\ub450 \ucef4\ud30c\uc77c\ud558\ub294 \ub3d9\uc548 \ub2e4\ub978 \ud074\ub798\uc2a4\uc5d0\uc11c \ubcf4\uc774\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uba54\uc11c\ub4dc \ubcf8\ubb38\uc740 \ub2e4\ub978 \ud074\ub798\uc2a4\uc758 \ucef4\ud30c\uc77c\uc5d0\ub3c4 \uc601\ud5a5\uc744 \uc8fc\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc774\ub7ec\ud55c \ubc84\uc804\uc758 Java \ud074\ub798\uc2a4\ub294 \ucef4\ud30c\uc77c \uc911\uc5d0 \uc0c1\ud638 \uad50\ud658\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n<p>Gradle\uc740 Java ABI\uc758 \ubcc0\uacbd \uc0ac\ud56d\uc744 \ucd94\uc801\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc774 \uc885\uc18d\uc131 \ubcc0\uacbd\uc774 ABI\uc5d0 \uc601\ud5a5\uc744 \ubbf8\uce58\uc9c0 \uc54a\ub294 \uacbd\uc6b0, \uc21c\uc218 Java \ucef4\ud30c\uc77c \uc791\uc5c5\uc758 \uc0c1\ud0dc\uac00 \ucd5c\uc2e0\uc73c\ub85c \uc720\uc9c0\ub418\ub294 \uc774\uc720\uc785\ub2c8\ub2e4. \ucef4\ud30c\uc77c \ud68c\ud53c\ub77c\uace0 \ud558\ub294 \uc774 \uae30\ub2a5\uc740 <a href=\"https:\/\/blog.gradle.org\/incremental-compiler-avoidance\" target=\"_blank\" rel=\"noopener\">Gradle 3.4\uc5d0\uc11c \ub3c4\uc785<\/a>\ub418\uc5c8\uace0 \uc131\ub2a5\uc744 \uadf9\uc801\uc73c\ub85c \ub192\uc774\ub294 \uacb0\uacfc\ub85c \uc774\uc5b4\uc84c\uc2b5\ub2c8\ub2e4.<\/p>\n<p>Kotlin ABI\uc5d0\ub294 \ub354 \ub9ce\uc740 \uc815\ubcf4(\uc608: \uc778\ub77c\uc778 \ud568\uc218\uc758 \ubcf8\ubb38)\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc73c\ubbc0\ub85c \ud604\uc7ac Gradle\uc5d0 \uad6c\ud604\ub41c ABI \ube44\uad50\uc5d0 \uc758\uc874\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc885\uc18d\uc131\uc774 \ubcc0\uacbd\ub420 \ub54c\ub9c8\ub2e4 Kotlin \ucef4\ud30c\uc77c\ub7ec\ub97c \uc2dc\uc791\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<p>\ucef4\ud30c\uc77c \uc18d\ub3c4\ub97c \ub192\uc774\ub294 \ub610 \ub2e4\ub978 \ubc29\ubc95\uc740 \uc601\ud5a5\uc744 \ubc1b\ub294 \ud30c\uc77c\ub9cc \ub2e4\uc2dc \ucef4\ud30c\uc77c\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uc774 \uac1c\ub150\uc744 <em>\uc99d\ubd84 \ucef4\ud30c\uc77c<\/em>\uc774\ub77c\uace0 \ud569\ub2c8\ub2e4. \ucef4\ud30c\uc77c \ud074\ub798\uc2a4 \uacbd\ub85c\uc5d0 \uc77c\ubd80 ABI \ubcc0\uacbd\uc774 \uc788\ub2e4\uace0 \uac00\uc815\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uc774 \uc0c1\ud669\uc744 \ucc98\ub9ac\ud558\ub294 \uac00\uc7a5 \uc88b\uc740 \ubc29\ubc95\uc740 \ubb34\uc5c7\uc77c\uae4c\uc694? \uc77c\ubc18\uc801\uc73c\ub85c, \ud074\ub798\uc2a4 \uacbd\ub85c\uc758 ABI \ubcc0\uacbd\uc740 \ubaa8\ub4c8\uc5d0 \uc788\ub294 \ud30c\uc77c\uc758 \uc77c\ubd80\ubd84\uc5d0\ub9cc \uc601\ud5a5\uc744 \ubbf8\uce69\ub2c8\ub2e4. Kotlin \ucef4\ud30c\uc77c\ub7ec\ub294 \ucef4\ud30c\uc77c\ub418\ub294 \ud074\ub798\uc2a4 \uac04\uc758 \uc885\uc18d\uc131\uc744 \uc800\uc7a5\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \ud6c4\uc18d \ucef4\ud30c\uc77c \uc911\uc5d0 ABI \ubcc0\uacbd\uc758 \uc601\ud5a5\uc744 \ubc1b\ub294 \ud074\ub798\uc2a4\ub9cc \ucc3e\uc544\uc11c \uc7ac\ucef4\ud30c\uc77c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc7ac\ucef4\ud30c\uc77c\ub41c \ud074\ub798\uc2a4\uc758 ABI\ub3c4 \ubcc0\uacbd\ub41c \uacbd\uc6b0, ABI\uc5d0\uc11c \uc0c8\ub85c\uc6b4 \ubcc0\uacbd\uc758 \uc601\ud5a5\uc744 \ubc1b\ub294 \ud074\ub798\uc2a4\ub97c \ucc3e\uc544 \ucef4\ud30c\uc77c\uc744 \ubc18\ubcf5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uc791\uc5c5\uc740 \uc870\uae08 \ub354 \ubcf5\uc7a1\ud569\ub2c8\ub2e4. \uc77c\ubd80 \ud30c\uc77c \ub610\ub294 \ud074\ub798\uc2a4\ub294 \ud56d\uc0c1 \ud568\uaed8 \ucef4\ud30c\uc77c\ud574\uc57c \ud569\ub2c8\ub2e4(\uc608: \uc5ec\ub7ec \ud30c\uc77c \ud074\ub798\uc2a4 \ub610\ub294 <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-42433\" target=\"_blank\" rel=\"noopener\">sealed \uc778\ud130\ud398\uc774\uc2a4 <\/a>\ubc0f \ud574\ub2f9 \uc0c1\uc18d\uc790). \ucef4\ud30c\uc77c \uc2dc\uc5d0 \uacc4\uc0b0\ub418\ub294 \uc0c1\uc218\ub3c4 \ucd94\uc801\ud574\uc57c \ud558\uc9c0\ub9cc \uc774 \uc8fc\uc81c\ub294 \uc774 \uae00\uc758 \ubc94\uc704\ub97c \ubc97\uc5b4\ub0a9\ub2c8\ub2e4.<\/p>\n<h3>\ubaa8\ub4c8 \uac04 \uc885\uc18d\uc131\uc758 \ubcc0\uacbd \ucd94\uc801<\/h3>\n<p>\ubaa8\ub4c8 \uac04 \uc885\uc18d\uc131\uc5d0\uc11c ABI \ubcc0\uacbd\uc744 \ucd94\uc801\ud558\ub294 \ubc29\ubc95\uc744 \uc124\uba85\ud558\uae30 \uc704\ud574 \ub2e4\uc74c \uc0d8\ud50c\uc744 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uc5ec\uae30\uc5d0\uc11c \ubaa8\ub4c8 B\ub294 \ubaa8\ub4c8 A\uc5d0 \uc885\uc18d\ub429\ub2c8\ub2e4. \uccab \ubc88\uc9f8 \uc804\uccb4 \ube4c\ub4dc\ub294 \ub9ac\ube44\uc804 1\uc5d0\uc11c \ud638\ucd9c\ub429\ub2c8\ub2e4. \ub9ac\ube44\uc804 2\ub97c \uc801\uc6a9\ud55c \ud6c4, \ubaa8\ub4c8 B\uc758 \ucef4\ud30c\uc77c\uc774 \ud638\ucd9c\ub429\ub2c8\ub2e4. \uc774 \uc791\uc5c5\uc740 \ub9ac\ube44\uc804 3\uc5d0\uc11c \ubc18\ubcf5\ub429\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/BsDyB6Se5JKwE90wOiOqLc1MNYDNYbEtwr6JMNbHsYIZshNtRcM-QuASgsbf0QtWyHEPf0aWc2qptin4srDRJoTARfsV-zKMeqynwz0woRyT0IUHZF5Plo6jvwnVdTvO1hUwSINTuKhYSDfagb4.png\" alt=\"\" \/><\/figure>\n<h3>\uae30\ub85d \ud30c\uc77c<\/h3>\n<p>\uba3c\uc800, \ud604\uc7ac\uc758 \uae30\ubcf8\uc801 \uc811\uadfc \ubc29\uc2dd\uc744 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. Kotlin \ucef4\ud30c\uc77c\ub7ec\ub294 ABI\uc758 \ubcc0\uacbd \uc0ac\ud56d\uc744 \uc800\uc7a5\ud558\uace0 \ud074\ub798\uc2a4 \ud30c\uc77c\uc744 \uc0dd\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ube4c\ub4dc \ub514\ub809\ud130\ub9ac\uc5d0\uc11c \ubcf4\uc558\uc744 \uc218 \uc788\ub294 &#8216;build-history.bin&#8217; \ud30c\uc77c\uc774 \ubc14\ub85c \uadf8\uac83\uc785\ub2c8\ub2e4.\u00a0<\/p>\n<p>\ub9ac\ube44\uc804 1\uc5d0\uc11c\ub294 \ub2e4\uc74c \uc791\uc5c5\uc774 \uc218\ud589\ub429\ub2c8\ub2e4.<\/p>\n<ul>\n<li>\ubaa8\ub4c8 A\ub294 \uc774\uc804 \uc0c1\ud0dc\uac00 \uc5c6\uc73c\ubbc0\ub85c \uc644\uc804\ud788 \ube4c\ub4dc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/li>\n<li>\ubaa8\ub4c8 A\uc758 \uae30\ub85d \ud30c\uc77c\uc5d0 \uc815\ubcf4\uac00 \uc800\uc7a5\ub429\ub2c8\ub2e4.<\/li>\n<li>\ubaa8\ub4c8 B\ub294 \uc774\uc804 \uc0c1\ud0dc\uac00 \uc5c6\uc73c\ubbc0\ub85c \uc644\uc804\ud788 \ube4c\ub4dc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/li>\n<li>\ucef4\ud30c\uc77c\ub41c \ud074\ub798\uc2a4 \uac04\uc758 \ubaa8\ub4e0 \uc885\uc18d\uc131\uc740 \ubaa8\ub4c8 B\uc5d0 \uc800\uc7a5\ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p>\ubb3c\ub860 \ub2e4\ub978 \ub2e8\uacc4\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uae30\ub85d \ud30c\uc77c\uc740 \ubaa8\ub4c8 B\uc5d0 \ub300\ud574 \uc800\uc7a5\ub418\uc9c0\ub9cc \uba85\ud655\uc131\uc744 \uc704\ud574 \uc774\ub7ec\ud55c \ub2e8\uacc4\ub97c \uc0dd\ub7b5\ud569\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-264955\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/07\/A-New-Approach-to-Incremental-Compilation-in-Kotlin-EN-2_6.png\" alt=\"\" width=\"1920\" height=\"1080\" \/><\/figure>\n<p>\ub9ac\ube44\uc804 2\uc758 \uc791\uc5c5:<\/p>\n<ul>\n<li>\ubaa8\ub4c8 A\ub294 \uc810\uc9c4\uc801\uc73c\ub85c \ube4c\ub4dc\ub429\ub2c8\ub2e4.<\/li>\n<li>ABI\uc5d0 \ubaa8\ub4c8 A\uc758 \ubcc0\uacbd \ub0b4\uc6a9\uc774 \uc5c6\ub2e4\ub294 \uc815\ubcf4\ub294 \ubaa8\ub4c8 A\uc758 \uae30\ub85d \ud30c\uc77c\uc5d0 \uc800\uc7a5\ub429\ub2c8\ub2e4. \uba54\uc11c\ub4dc \ubcf8\ubb38\uc740 ABI\uc5d0 \uc601\ud5a5\uc744 \ubbf8\uce58\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/li>\n<li>\ubaa8\ub4c8 B\uc5d0 \ub300\ud55c \uc885\uc18d\uc131\uc758 \ubcc0\uacbd \ub0b4\uc6a9\uc774 \uc218\uc9d1\ub429\ub2c8\ub2e4. ABI\uac00 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc558\uc744 \uac00\ub2a5\uc131\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li>\uc7ac\ucef4\ud30c\uc77c\ud560 \ud30c\uc77c\uc774 \uc5c6\uc73c\ubbc0\ub85c \ubaa8\ub4c8 B\uc5d0 \ub300\ud55c \ucef4\ud30c\uc77c \uc791\uc5c5\uc774 \uc644\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-264966\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/07\/A-New-Approach-to-Incremental-Compilation-in-Kotlin-EN-2_7.png\" alt=\"\" width=\"1920\" height=\"1080\" \/><\/figure>\n<p>\ub9ac\ube44\uc804 3\uc758 \uc791\uc5c5:<\/p>\n<ul>\n<li>\ubaa8\ub4c8 A\ub294 \uc810\uc9c4\uc801\uc73c\ub85c \ube4c\ub4dc\ub429\ub2c8\ub2e4.<\/li>\n<li><code>A.doA<\/code>\uc758 \ubcc0\uacbd \ub0b4\uc6a9\uc774 \ud574\ub2f9 \uae30\ub85d \ud30c\uc77c\uc5d0 \ucd94\uac00\ub429\ub2c8\ub2e4.<\/li>\n<li>\ubaa8\ub4c8 B\uc5d0 \ub300\ud55c \uc885\uc18d\uc131 \ubcc0\uacbd\uc744 \ubd84\uc11d\ud558\uc5ec \ubcc0\uacbd\ub41c \uba54\uc11c\ub4dc <code>A.doA<\/code>\ub97c \ucc3e\uc2b5\ub2c8\ub2e4.<\/li>\n<li>\ud074\ub798\uc2a4 B\ub294 \ub0b4\ubd80\uc801\uc73c\ub85c \uc800\uc7a5\ub41c \uc885\uc18d\uc131 \ub9f5\uc5d0 \uba85\uc2dc\ub41c \ub300\ub85c \uc7ac\ucef4\ud30c\uc77c \ub300\uc0c1\uc73c\ub85c \ud45c\uc2dc\ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-264977\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/07\/A-New-Approach-to-Incremental-Compilation-in-Kotlin-EN-2_8.png\" alt=\"\" width=\"1920\" height=\"1080\" \/><\/figure>\n<p><strong>\uc774\uc810<\/strong><\/p>\n<ul>\n<li>\ub9e4\uc6b0 \ud6a8\uc728\uc801\uc785\ub2c8\ub2e4. \ucef4\ud30c\uc77c \ud074\ub798\uc2a4 \uacbd\ub85c\ub97c \uc800\uc7a5\ud558\uac70\ub098 \ud074\ub798\uc2a4 \uacbd\ub85c\ub97c \ube44\uad50\ud560 \ud544\uc694\uac00 \uc5c6\uae30 \ub54c\ubb38\uc774\uc8e0.<\/li>\n<\/ul>\n<p><strong>\ub2e8\uc810<\/strong><\/p>\n<ul>\n<li>\ub9ac\ube44\uc804 2\uc5d0\uc11c Gradle\uc740 \uc785\ub825\uc758 \ucd5c\uc2e0 \uc0c1\ud0dc\ub97c \ucc98\ub9ac\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. Kotlin \ucef4\ud30c\uc77c\ub7ec\ub97c \uc2dc\uc791\ud558\ub294 \ub370 \ub2e4\uc18c \uc2dc\uac04\uc774 \uac78\ub838\uc2b5\ub2c8\ub2e4.<\/li>\n<li>\ub9ac\ube44\uc804\uc744 \uc7ac\ubc30\uce58 \uac00\ub2a5\ud558\uac8c \ub9cc\ub4dc\ub294 \ub370 \uc0c1\ub2f9\ud55c \ube44\uc6a9\uc774 \ub4e4\uc5b4\uac11\ub2c8\ub2e4. \uc99d\ubd84 \ucef4\ud30c\uc77c\uc774 Gradle \ube4c\ub4dc \uce90\uc2dc\uc640 \ud638\ud658\ub418\uc9c0 \uc54a\ub294 \uc774\uc720\uac00 \uc5ec\uae30\uc5d0 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li>\ubaa8\ub4c8 A\uac00 \uae30\ub85d \ud30c\uc77c\uc744 \uc0dd\uc131\ud558\uc9c0 \uc54a\ub294 \uacbd\uc6b0\uc5d0\ub294 \uc774 \uc811\uadfc \ubc29\uc2dd\uc744 \uc801\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4(\uc608: \uc678\ubd80 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 \uacbd\uc6b0).<\/li>\n<\/ul>\n<p>\ube4c\ub4dc \ubcf4\uace0\uc11c\ub97c \uc0ac\uc6a9\ud558\ub294 \uc0ac\uc6a9\uc790\ub77c\uba74, \ub2e4\uc2dc \ube4c\ub4dc\ud560 \ub54c <code>DEP_CHANGE_HISTORY_IS_NOT_FOUND<\/code> \ubc0f <code>DEP_CHANGE_HISTORY_NO_KNOWN_BUILDS<\/code>\uc640 \uac19\uc740 \uc6d0\uc778\uc744 \ubd24\uc744 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ud55c \uc6d0\uc778\uc774 \ud45c\uc2dc\ub418\ub294 \ub370\uc5d0\ub294 \uc774\ub7ec\ud55c \ub2e8\uc810\uc774 \uad00\ub828\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h3>\ucef4\ud30c\uc77c \ud074\ub798\uc2a4 \uacbd\ub85c \ucd94\uc801<\/h3>\n<p>\uc774\uc81c \uc6b0\ub9ac\uac00 \ucde8\ud55c \ub300\uccb4 \uc811\uadfc \ubc29\uc2dd\uc5d0\uc11c\ub294 Kotlin \ucef4\ud30c\uc77c\ub7ec \ud638\ucd9c\uc774 \uc788\uc744 \ub54c\ub9c8\ub2e4 \ucef4\ud30c\uc77c \ud074\ub798\uc2a4 \uacbd\ub85c\uc758 ABI\ub97c \uc800\uc7a5\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774 \uc811\uadfc \ubc29\uc2dd\uc740 \ub610\ud55c \ubaa8\ub4e0 \ucef4\ud30c\uc77c \uc2dc \uad50\ucc28 \uacbd\ub85c\ub97c \ube44\uad50\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc791\uc5c5\uc740 \ubd80\ud558\uac00 \uc0c1\ub2f9\ud788 \ud06c\uba70 \uc218\uc6a9 \uac00\ub2a5\ud55c \uc131\ub2a5\uc744 \uc5bb\uc73c\ub824\uba74 \ucd5c\ub300\ud55c \ucd5c\uc801\ud654\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<p><strong>\uac00\ub2a5\ud55c \ucd5c\uc801\ud654 \ubc29\ubc95<\/strong><\/p>\n<p>(a) \ucef4\ud30c\uc77c \uc911\uc5d0 \uc2e4\uc81c\ub85c \uc0ac\uc6a9\ub41c \ud074\ub798\uc2a4 \uacbd\ub85c ABI \ubd80\ubd84\ub9cc \ubcf4\uc874\ud569\ub2c8\ub2e4.<\/p>\n<p>(b) \ud074\ub798\uc2a4 \uacbd\ub85c\uc5d0\uc11c \ucef4\ud30c\uc77c\ub7ec\uac00 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 ABI \ubd80\ubd84\ub9cc \ucd94\ucd9c\ud569\ub2c8\ub2e4.<\/p>\n<p>(c) \ud074\ub798\uc2a4 \ud30c\uc77c\uacfc \ud568\uaed8 \uc0dd\uc0b0\uc790 \uce21\uc5d0\uc11c ABI\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/p>\n<p>(d) \ucd94\ucd9c\ub41c ABI\ub97c \uce90\uc2dc\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc774\ub7ec\ud55c \uc635\uc158 \uc911 \uc77c\ubd80\ub294 \uc11c\ub85c \ud638\ud658\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, <strong>(b)<\/strong> \ubc0f <strong>(c)<\/strong> \uc635\uc158\uc740 \ub3d9\uc2dc\uc5d0 \uad6c\ud604\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uacbd\uc6b0\uc5d0 \ub530\ub77c \ucd5c\uc801\uc758 \uc811\uadfc \ubc29\uc2dd\uc740 \ube4c\ub4dc \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \uae30\ub2a5\uc5d0 \ub530\ub77c \ub2e4\ub985\ub2c8\ub2e4. \ub610\ud55c \uc0ac\uc6a9 \uc0ac\ub840\uc5d0 \ub530\ub77c\uc11c\ub3c4 \ud06c\uac8c \ub2e4\ub985\ub2c8\ub2e4.<\/p>\n<ul>\n<li>\ud070 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0 \uc885\uc18d\uc131\uc744 \ucd94\uac00\ud558\uace0 \ud558\ub098\uc758 \ubaa8\ub4c8\uc5d0\uc11c \ud558\ub098\uc758 \ud074\ub798\uc2a4\ub9cc \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0, \uc635\uc158 <strong>(b)<\/strong>(\uc544\ub798 \uc67c\ucabd \uadf8\ub9bc)\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \ub354 \ud6a8\uc728\uc801\uc785\ub2c8\ub2e4.<\/li>\n<li>\ub9ce\uc740 \ubaa8\ub4c8\uc5d0 \uc720\uc0ac\ud55c \uc885\uc18d\uc131\uc744 \ucd94\uac00\ud558\uace0 \uadf8 \uc911 \ub9ce\uc740 \ubaa8\ub4c8\uc5d0\uc11c \uc885\uc18d\uc131\uc758 \uac70\uc758 \ubaa8\ub4e0 \ud074\ub798\uc2a4\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 <strong>(d)<\/strong> \uc635\uc158\uc744 \uc0ac\uc6a9\ud558\uace0 \uacf5\ud1b5\ub41c \uc885\uc18d\uc131\uc758 \uacc4\uc0b0\ub41c ABI\ub97c \uce90\uc2dc\ud558\ub294 \uac83\uc774 \ub354 \ud6a8\uc728\uc801\uc785\ub2c8\ub2e4.<\/li>\n<\/ul>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-264988\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/07\/A-New-Approach-to-Incremental-Compilation-in-Kotlin-EN-2_6-copy.png\" alt=\"\" width=\"1920\" height=\"1080\" \/><\/figure>\n<p>\uc5ec\ub7ec \uc624\ud508 \uc18c\uc2a4 \ud504\ub85c\uc81d\ud2b8\uc5d0 \ub300\ud574 \uc6b0\ub9ac\uac00 \ub0b4\ub9b0 \ucd94\uc815\uc5d0 \ub530\ub974\uba74 \uac00\uc7a5 \ud6a8\uc728\uc801\uc778 \uc811\uadfc \ubc29\uc2dd\uc740 \ubaa8\ub4e0 \uc885\uc18d\uc131\uc5d0 \ub300\ud574 \ub2e8\uc77c ABI \ucd94\ucd9c\uc744 \uc218\ud589\ud558\uace0 \uc2e4\ud589 \uacb0\uacfc\ub97c \uce90\uc2dc\ud558\ub294 \uac83\uc785\ub2c8\ub2e4.<\/p>\n<p>\uc0c8\ub85c\uc6b4 \uc811\uadfc \ubc29\uc2dd\uc5d0\uc11c\ub294 ABI \ucd94\ucd9c\uc744 \uc704\ud574 <a href=\"https:\/\/docs.gradle.org\/current\/userguide\/artifact_transforms.html\" target=\"_blank\" rel=\"noopener\">Gradle \uc544\ud2f0\ud329\ud2b8 \ubcc0\ud658<\/a>\uc744 \uc774\uc6a9\ud569\ub2c8\ub2e4. \uadf8\ub7ec\uba74 \uacb0\uacfc\ub97c \uce90\uc2dc\ud560 \uc218 \uc788\uace0 \uc644\uc804\ud788 \uc7ac\ubc30\uce58\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc6d0\uaca9 \ube4c\ub4dc \uce90\uc2dc\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0, \ub77c\uc774\ube0c\ub7ec\ub9ac \uc885\uc18d\uc131\uc5d0\uc11c ABI\ub97c \ucd94\ucd9c\ud558\ub294 \uacfc\uc911\ud55c \uc791\uc5c5\uc774 \uc790\uc2e0\uc758 \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc218\ud589\ub418\uc9c0 \uc54a\uc744 \uac00\ub2a5\uc131\uc774 \ub192\uc73c\uba70, \ub2e8\uc21c\ud788 \uc774 \uc544\ud2f0\ud329\ud2b8\uac00 \ub2e4\uc6b4\ub85c\ub4dc\ub429\ub2c8\ub2e4.<\/p>\n<p>\uc774\uc81c \uc774\uc804 \uc0d8\ud50c\uc758 \uc138 \uac00\uc9c0 \ub9ac\ube44\uc804\uc774 \uc0c8\ub85c\uc6b4 \uc811\uadfc \ubc29\uc2dd\uc5d0\uc11c \uc5b4\ub5bb\uac8c \ucef4\ud30c\uc77c\ub418\ub294\uc9c0 \uc0b4\ud3b4\ubcf4\uc138\uc694.<\/p>\n<p>\ub9ac\ube44\uc804 1\uc5d0\uc11c\ub294 \uc774\uc804 \uc0c1\ud0dc\uac00 \uc5c6\uae30 \ub54c\ubb38\uc5d0 \ub450 \ubaa8\ub4c8 \uc804\uccb4\uac00 \ube4c\ub4dc\ub429\ub2c8\ub2e4. \uc5ec\uae30\uc11c \ubcc0\uacbd\ub418\ub294 \uac83\uc740 \uc544\ubb34\uac83\ub3c4 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774\uc804 \ubc29\uc2dd\uacfc \ub2ec\ub9ac \ubaa8\ub4c8 B\uc5d0 \ub300\ud55c \ucef4\ud30c\uc77c \ud074\ub798\uc2a4 \uacbd\ub85c\uc758 \uc2a4\ub0c5\uc0f7\ub3c4 \uc800\uc7a5\ud569\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-264999\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/07\/A-New-Approach-to-Incremental-Compilation-in-Kotlin-EN-2_7-copy.png\" alt=\"\" width=\"1920\" height=\"1080\" \/><\/figure>\n<p>\ub9ac\ube44\uc804 2\uc5d0\uc11c Kotlin \ucef4\ud30c\uc77c\ub7ec\ub294 \ubaa8\ub4c8 A\uc5d0 \ub300\ud574 \ub2e4\ub978 \ubc14\uc774\ud2b8 \ucf54\ub4dc\ub97c \uc0dd\uc131\ud558\uc9c0\ub9cc \uc544\ud2f0\ud329\ud2b8 \ubcc0\ud658\uc740 \ub3d9\uc77c\ud55c \uacb0\uacfc\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. Gradle\uc740 \ubaa8\ub4c8 B\uc758 \ubaa8\ub4e0 \uc785\ub825\uc744 &#8216;UP-TO-DATE&#8217;\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4. \ucd94\uac00 \uc791\uc5c5\uc774 \ud544\uc694\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ube4c\ub4dc \uccb4\uc778\uc774 \uc911\ub2e8\ub418\uace0 \uacb0\uacfc\ub97c \ub354 \ube68\ub9ac \uc5bb\uc2b5\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-265010\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/07\/A-New-Approach-to-Incremental-Compilation-in-Kotlin-EN-2_8-copy.png\" alt=\"\" width=\"1920\" height=\"1080\" \/><\/figure>\n<p>\ub9ac\ube44\uc804 3\uc5d0\uc11c \ubaa8\ub4c8 A\ub294 \ub2e4\ub978 \ucd9c\ub825\uc744 \uc0dd\uc131\ud558\uace0, \uc544\ud2f0\ud329\ud2b8 \ubcc0\ud658\uc740 \ub2e4\ub978 ABI\ub97c \uc0dd\uc131\ud558\ubbc0\ub85c \ubaa8\ub4c8 B\uc758 \ucef4\ud30c\uc77c\uc774 \ud2b8\ub9ac\uac70\ub429\ub2c8\ub2e4. \ubaa8\ub4c8 B\ub97c \ucef4\ud30c\uc77c\ud558\ub294 \ub3d9\uc548 \ub2e4\uc74c \ub2e8\uacc4\uac00 \ud544\uc694\ud569\ub2c8\ub2e4.<\/p>\n<ul>\n<li>\uc774\uc804\uc5d0 \uc800\uc7a5\ub41c \ud074\ub798\uc2a4 \uacbd\ub85c \uc2a4\ub0c5\uc0f7\uc744 \uc0c8 \uc2a4\ub0c5\uc0f7\uacfc \ube44\uad50\ud558\uc5ec \ubcc0\uacbd\ub41c ABI \ubaa9\ub85d\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. \uc720\uc77c\ud55c \ucc28\uc774\uc810\uc740 <code>A.doA<\/code> \uba54\uc11c\ub4dc\uc785\ub2c8\ub2e4.<\/li>\n<li><code>\ud074\ub798\uc2a4 B<\/code>\ub294 \ub0b4\ubd80\uc801\uc73c\ub85c \uc800\uc7a5\ub41c \uc885\uc18d\uc131 \ub9f5\uc5d0 \uba85\uc2dc\ub41c \ub300\ub85c \uc7ac\ucef4\ud30c\uc77c \ub300\uc0c1\uc73c\ub85c \ud45c\uc2dc\ub429\ub2c8\ub2e4.<\/li>\n<li>\ubaa8\ub4c8 B\uc5d0 \ub300\ud55c \ucef4\ud30c\uc77c \ud074\ub798\uc2a4 \uacbd\ub85c\uc758 \uc2a4\ub0c5\uc0f7\uc774 \uc800\uc7a5\ub429\ub2c8\ub2e4.<\/li>\n<li>\ubaa8\ub4c8 B\uc758 <code>\ud074\ub798\uc2a4 B<\/code>\ub294 \uadf8 \ud0c0\uc785\uc774 \ubcc0\uacbd\ub41c <code>A.doA<\/code>\uc5d0 \uc885\uc18d\ub418\uae30 \ub54c\ubb38\uc5d0 \ub2e4\uc2dc \ucef4\ud30c\uc77c\ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-265021\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/07\/A-New-Approach-to-Incremental-Compilation-in-Kotlin-EN-2_6-copy-2.png\" alt=\"\" width=\"1920\" height=\"1080\" \/><\/figure>\n<h2>\ub2e4\uc74c \ub2e8\uacc4<\/h2>\n<p>\uc55e\uc73c\ub85c \uc774 \uc811\uadfc \ubc29\uc2dd\uc744 \uc548\uc815\ud654\ud558\uace0 \ub2e4\ub978 \ubc31\uc5d4\ub4dc(\uc608: JS) \ubc0f \ube4c\ub4dc \uc2dc\uc2a4\ud15c\uc5d0 \ub300\ud55c \uc9c0\uc6d0\uc744 \uad6c\ud604\ud560 \uacc4\ud68d\uc785\ub2c8\ub2e4.<\/p>\n<h2>\uc758\uacac\uc744 \ub0a8\uaca8\uc8fc\uc138\uc694<\/h2>\n<p>\uc5ec\ub7ec\ubd84\uc758 \ud504\ub85c\uc81d\ud2b8\uc5d0 \uc0c8\ub85c\uc6b4 \uc99d\ubd84 \ucef4\ud30c\uc77c\uc744 \uc0ac\uc6a9\ud574 \ubcf4\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4. \ud53c\ub4dc\ubc31\uc774 \uc788\uac70\ub098 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud558\ub294 \uacbd\uc6b0, <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT\" target=\"_blank\" rel=\"noopener\">\uc774\uc288 \ud2b8\ub798\ucee4<\/a>\uc5d0 \ubcf4\uace0\ud574 \uc8fc\uc138\uc694. \uac10\uc0ac\ud569\ub2c8\ub2e4!<\/p>\n<h2>\uac10\uc0ac\uc758 \ub9d0<\/h2>\n<p><a href=\"https:\/\/github.com\/gavra0\" target=\"_blank\" rel=\"noopener\">Ivan Gavrilovic<\/a>, <a href=\"https:\/\/github.com\/hungvietnguyen\" target=\"_blank\" rel=\"noopener\">Hung Nguyen<\/a>, <a href=\"https:\/\/github.com\/melix\" target=\"_blank\" rel=\"noopener\">C\u00e9dric Champeau<\/a> \ub4f1 \ud070 \ub3c4\uc6c0\uc744 \uc8fc\uc2e0 \uc678\ubd80 \uae30\uc5ec\uc790\ubd84\ub4e4\uaed8 \uae4a\uc740 \uac10\uc0ac\uc758 \ub9d0\uc744 \uc804\ud569\ub2c8\ub2e4.<\/p>\n<p><em>\uac8c\uc2dc\ubb3c \uc6d0\ubb38 \uc791\uc131\uc790<\/em><\/p>\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/secure.gravatar.com\/avatar\/?s=200&#038;r=g\" width=\"200\" height=\"200\" alt=\"\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":964,"featured_media":264225,"comment_status":"closed","ping_status":"closed","template":"","categories":[89],"tags":[],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/271887"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/types\/kotlin"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/users\/964"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/comments?post=271887"}],"version-history":[{"count":8,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/271887\/revisions"}],"predecessor-version":[{"id":629679,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/271887\/revisions\/629679"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media\/264225"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media?parent=271887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/categories?post=271887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/tags?post=271887"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/cross-post-tag?post=271887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}