{"id":530555,"date":"2024-11-28T07:34:58","date_gmt":"2024-11-28T06:34:58","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=idea&#038;p=530555"},"modified":"2024-11-28T07:35:03","modified_gmt":"2024-11-28T06:35:03","slug":"k2-mode-becomes-stable","status":"publish","type":"idea","link":"https:\/\/blog.jetbrains.com\/ko\/idea\/2024\/11\/k2-mode-becomes-stable\/","title":{"rendered":"Kotlin K2 \ubaa8\ub4dc\uac00 \uc548\uc815\ud654\uc5d0 \ub3cc\uc785"},"content":{"rendered":"<p>IntelliJ IDEA 2024.3\uc5d0\uc11c\ub294 K2 \ubaa8\ub4dc\uac00 \ubca0\ud0c0 \ubc84\uc804\uc744 \ubc97\uc5b4\ub098 \uc548\uc815\ud654\ub418\uc5b4 \uc77c\ubc18\uc801\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4. K2 \ubaa8\ub4dc\ub294 Kotlin \ucf54\ub4dc \ubd84\uc11d \uc548\uc815\uc131, \uba54\ubaa8\ub9ac \uc18c\ube44 \ud6a8\uc728\uc131 \ubc0f IDE\uc758 \uc804\ubc18\uc801\uc778 \uc131\ub2a5\uc744 \ud06c\uac8c \ud5a5\uc0c1\ud558\uba70, Kotlin 2.1 \uc5b8\uc5b4 \uae30\ub2a5\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">\ubc30\uacbd<\/h2>\n<p>IntelliJ IDEA\uc758 K2 \ubaa8\ub4dc\ub294 \ub2e4\uc591\ud55c \uc131\ub2a5 \ubc0f \uc548\uc815\uc131 \ubb38\uc81c\ub97c \ud3ec\ud568\ud558\uc5ec \uc774\uc804 Kotlin \ud50c\ub7ec\uadf8\uc778 \ubc84\uc804\uc5d0 \uc788\ub358 \uc81c\uc57d\uc744 \ud574\uacb0\ud558\uae30 \uc704\ud574 \uc124\uacc4\ub418\uc5c8\uc2b5\ub2c8\ub2e4. K2 \ubaa8\ub4dc\ub294 \ucf54\ub4dc \ubd84\uc11d \uc548\uc815\uc131\uacfc \uc131\ub2a5\uc744 \uac1c\uc120\ud558\uace0 UI\uac00 \uba48\ucd94\ub294 \ubb38\uc81c\ub97c \uc904\uc5ec IntelliJ IDEA\uc6a9 Kotlin \ud50c\ub7ec\uadf8\uc778\uc758 \ud6a8\uc728\uc131\uc744 \uac1c\uc120\ud558\ub294 \uac83\uc744 \ubaa9\ud45c\ub85c \ud569\ub2c8\ub2e4. \ucd94\uac00\uc801\uc73c\ub85c K2 \ubaa8\ub4dc\ub294 Kotlin 2.1 \uc774\ud6c4 \ubc84\uc804\uc5d0\uc11c \ucd94\uac00\ub420 \uc0c8\ub85c\uc6b4 \uc5b8\uc5b4 \uae30\ub2a5\ub3c4 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">\ud638\ud658\uc131<\/h2>\n<p>IntelliJ IDEA\uc758 K2 \ubaa8\ub4dc\ub294 \ud504\ub85c\uc81d\ud2b8\uc758 \ube4c\ub4dc \uc124\uc815\uc5d0 \uc9c0\uc815\ub41c Kotlin \ucef4\ud30c\uc77c\ub7ec \ubc84\uc804\uc5d0 \uc758\uc874\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. K2 \ubaa8\ub4dc\ub294 IDE\uc758 Kotlin \uc9c0\uc6d0\uc774 \uac70\uc758 \uc0c8\ub85c \uc7ac\uc791\uc131\ub41c \uac83\uc785\ub2c8\ub2e4. &#8216;K2&#8217;\ub77c\ub294 \uc774\ub984\ub3c4 Kotlin \ud50c\ub7ec\uadf8\uc778\uc774 \ucf54\ub4dc \ubd84\uc11d\uc5d0 \uc0ac\uc6a9\ud558\ub294 K2 Kotlin \ucef4\ud30c\uc77c\ub7ec\uc758 \ub0b4\ubd80 \ubc84\uc804\uc744 \ud3ec\ud568\ud55c\ub2e4\ub294 \uc810\uc744 \ubc18\uc601\ud569\ub2c8\ub2e4( K1 \ubaa8\ub4dc\ub294 K1 \ucef4\ud30c\uc77c\ub7ec\ub97c \uc0ac\uc6a9). IntelliJ IDEA\uc5d0 \ubc88\ub4e4\ub85c \ud3ec\ud568\ub418\ub294 Kotlin \ucef4\ud30c\uc77c\ub7ec\uc758 \ubc84\uc804\uc740 \ud504\ub85c\uc81d\ud2b8 \ube4c\ub4dc \ud30c\uc77c\uc5d0 \uc9c0\uc815\ub41c \ubc84\uc804\uacfc\ub294 \uc644\uc804\ud788 \ub3c5\ub9bd\uc801\uc785\ub2c8\ub2e4. \ub2e8, \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uc9c0\uc6d0\ub418\ub294 Kotlin \ubc84\uc804\uc5d0\ub294 \uc601\ud5a5\uc744 \uc904 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">K2 \ubaa8\ub4dc \ud65c\uc131\ud654 \ubc29\ubc95<\/h2>\n<p>K2 \ubaa8\ub4dc\ub97c \ud65c\uc131\ud654\ud558\ub824\uba74 <em>Preferences(\ud658\uacbd \uc124\uc815)\/Settings(\uc124\uc815) | Languages &amp; Frameworks(\uc5b8\uc5b4 \ubc0f \ud504\ub808\uc784\uc6cc\ud06c) | Kotlin<\/em>\uc73c\ub85c \uc774\ub3d9\ud558\uace0 <em>Enable K2 Mode(K2 \ubaa8\ub4dc \ud65c\uc131\ud654)<\/em> \uccb4\ud06c\ubc15\uc2a4\ub97c \uc120\ud0dd\ud558\uc138\uc694.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-528178\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/11\/k2-mode-enable.png\" alt=\"\" width=\"1030\" height=\"218\" \/><\/figure>\n<h2 class=\"wp-block-heading\">\uacb0\uacfc<\/h2>\n<p><strong>\ucc44\ud0dd\ub960<\/strong><\/p>\n<p>2024.2 \ub9b4\ub9ac\uc2a4\ubd80\ud130 K2 \ubaa8\ub4dc(\ubca0\ud0c0)\uc758 \ucc44\ud0dd\ub960\uc740 15%\ub97c \uae30\ub85d\ud588\uc73c\uba70, \uc774 \uc218\uce58\ub294 \ub9e4\uc8fc \uc624\ub974\ub294 \uc911\uc785\ub2c8\ub2e4. K2 \ubaa8\ub4dc\ub294 2024.3 EAP 1\ubd80\ud130 \uae30\ubcf8\uc801\uc73c\ub85c \ud65c\uc131\ud654\ub418\uc5c8\uc73c\uba70, \uc0ac\uc6a9\ud574 \ubcf8 \uac1c\ubc1c\uc790\uc758 86%\uac00 \uc9c0\uae08\ub3c4 \uc0ac\uc6a9\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><strong>\uc131\ub2a5<\/strong><\/p>\n<p>\uc0c8\ub85c\uc6b4 \uc544\ud0a4\ud14d\ucc98 \ub355\ubd84\uc5d0 K2 \ubaa8\ub4dc\ub294 \ucd94\ud6c4\uc5d0\ub3c4 \uac1c\uc120\ud560 \uc5ec\uc9c0\uac00 \ubb34\uad81\ubb34\uc9c4\ud558\uba70 \uc774\ubbf8 Kotlin \ucf54\ub4dc \ubd84\uc11d, \uc644\uc131, \ud0d0\uc0c9 \uc18d\ub3c4\uac00 \uac1c\uc120\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc778\uae30 \uc788\ub294 IntelliJ IDEA \uae30\ub2a5\uc758 \uc131\ub2a5\uc744 \uce21\uc815\ud558\uae30 \uc704\ud574 \uc0ac\uc6a9\ud55c \ubca4\uce58\ub9c8\ud06c\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ubca4\uce58\ub9c8\ud06c\ub294 \uc624\ud508 \uc18c\uc2a4 \ud504\ub85c\uc81d\ud2b8\ub098 \ub0b4\ubd80 \ud504\ub85c\uc81d\ud2b8\ub97c \ud3ec\ud568\ud55c \uc2e4\uc81c \ucf54\ub4dc\ubca0\uc774\uc2a4\uc5d0\uc11c \uc791\ub3d9\ud569\ub2c8\ub2e4. \uc544\ub798\ub294 \uc131\ub2a5\uc744 \uce21\uc815\ud55c \ud504\ub85c\uc81d\ud2b8\uc758 \uc608\uc2dc\uc785\ub2c8\ub2e4.<\/p>\n<ul>\n<li><strong>IntelliJ IDEA<\/strong>: IntelliJ IDEA Ultimate\uc758 \uc18c\uc2a4 \ucf54\ub4dc(\ube44\uacf5\uac1c \uc18c\uc2a4)<\/li>\n<li><strong>kotlinx.coroutines<\/strong> <a href=\"https:\/\/github.com\/Kotlin\/kotlinx.coroutines\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/Kotlin\/kotlinx.coroutines<\/a><\/li>\n<li><strong>Ktor<\/strong>: <a href=\"https:\/\/github.com\/ktorio\/ktor\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/ktorio\/ktor<\/a><\/li>\n<\/ul>\n<p>\uc544\ub798\ub294 \uacb0\uacfc\uc785\ub2c8\ub2e4. \ub0ae\uc744\uc218\ub85d \uc88b\uc2b5\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-528082\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/11\/K1_vs_K2_Code-Analysis.png\" alt=\"\" width=\"1700\" height=\"832\" \/><\/figure>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-528093\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/11\/K1_vs_K2_Completion.png\" alt=\"\" width=\"1700\" height=\"832\" \/><\/figure>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-528105\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/11\/K1_vs_K2_Semantic-HIghlihgting.png\" alt=\"\" width=\"1700\" height=\"833\" \/><\/figure>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-528116\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/11\/K1_vs_K2_Find-Usages.png\" alt=\"\" width=\"1700\" height=\"833\" \/><\/figure>\n<h2 class=\"wp-block-heading\">\uc9c0\uc6d0\ub418\uc9c0 \uc54a\ub294 \uae30\ub2a5<\/h2>\n<p>Kotlin \ud50c\ub7ec\uadf8\uc778\uc5d0 \uc758\uc874\ud558\ub294 \uc77c\ubd80 \ud0c0\uc0ac IntelliJ IDEA \ud50c\ub7ec\uadf8\uc778\uc740 Kotlin \ud50c\ub7ec\uadf8\uc778 API\uc758 \ucd5c\uadfc \ubcc0\uacbd \uc0ac\ud56d\uc73c\ub85c \uc778\ud574 \ud604\uc7ac \uc0ac\uc6a9\uc774 \ubd88\uac00\ub2a5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. JetBrains\ub294 \ud574\ub2f9 \ud50c\ub7ec\uadf8\uc778\uc774 \ucd5c\ub300\ud55c \ube60\ub974\uac8c K2 \ubaa8\ub4dc\ub97c \uc9c0\uc6d0\ud560 \uc218 \uc788\ub3c4\ub85d \uc801\uadf9\uc801\uc73c\ub85c \ud50c\ub7ec\uadf8\uc778 \uc81c\uc791\uc790\ub4e4\uc744 \uc9c0\uc6d0\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc790\uc138\ud55c \uc815\ubcf4\ub294 \uc0c1\uc138\ud55c <a href=\"https:\/\/kotlin.github.io\/analysis-api\/migrating-from-k1.html\" target=\"_blank\" rel=\"noopener\">\ub9c8\uc774\uadf8\ub808\uc774\uc158 \uac00\uc774\ub4dc<\/a>\ub97c \ucc38\uc870\ud558\uc138\uc694.<\/p>\n<p>Kotlin \uc2a4\ud06c\ub798\uce58 \ud30c\uc77c \uc9c0\uc6d0 \uac19\uc740 \uae30\ub2a5\uacfc \uc77c\ubd80 \uc0ac\uc18c\ud55c \uac80\uc0ac, \uc778\ud150\uc158 \uc561\uc158 \ubc0f \ube60\ub978 \uc218\uc815\uc740 \uc544\uc9c1 \uc791\uc5c5 \uc911\uc774\uba70 \ub2e4\uc74c \ubc84\uc804\uc5d0\uc11c \uc9c0\uc6d0\ub420 \uc608\uc815\uc785\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">\ud5a5\ud6c4 \uacc4\ud68d<\/h2>\n<p>2025.1 \ubc84\uc804\uae4c\uc9c0 K2 \ubaa8\ub4dc\ub97c \uae30\ubcf8 \uc635\uc158\uc73c\ub85c \ub9cc\ub4e4 \uacc4\ud68d\uc785\ub2c8\ub2e4.<br \/>\uc0c8\ub85c\uc6b4 \uc544\ud0a4\ud14d\ucc98\ub97c \ud65c\uc6a9\ud558\uc5ec \uae30\uc874\uc758 \uc81c\uc57d\uc744 \uc5c6\uc560, \ud5a5\ud6c4 Kotlin \ud50c\ub7ec\uadf8\uc778\uc758 \uc131\ub2a5\uc744 \uc5ec\ub7ec \uac00\uc9c0 \uc0c8\ub85c\uc6b4 \ubc29\ubc95\uc73c\ub85c \uac1c\uc120\ud560 \uc218 \uc788\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uacc4\uc18d\ud574\uc11c \uc131\ub2a5\uacfc \uba54\ubaa8\ub9ac \ud6a8\uc728\uc131\uc744 \ub192\uc774\uace0 \uc548\uc815\ud654\ud558\uc5ec \uc0ac\uc6a9\uc790\uc758 \uacbd\ud5d8\uc744 \ub354\uc6b1 \uc6d0\ud65c\ud558\uac8c \ub9cc\ub4e4\uaca0\uc2b5\ub2c8\ub2e4. K2 \ubaa8\ub4dc\uac00 \uac15\ub825\ud55c \ub3c4\uad6c\uc774\uae30\ub294 \ud574\ub3c4 \ubaa8\ub4e0 \ubb38\uc81c\ub97c \ud55c \ubc88\uc5d0 \ud574\uacb0\ud574 \uc8fc\uc9c0\ub294 \uc54a\uc9c0\ub9cc \ucd94\ud6c4 \uac1c\uc120\uc744 \uc704\ud55c \uc911\uc694\ud55c \ud1a0\ub300\uac00 \ub9c8\ub828\ub41c \uac83\uc740 \ud655\uc2e4\ud569\ub2c8\ub2e4.<\/p>\n<p>Kotlin\uc758 \ubbf8\ub798\ub97c \uae30\ub300\ud558\uc138\uc694!<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-528190\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/11\/k2-mode-future.png\" alt=\"\" width=\"1920\" height=\"1080\" \/><\/figure>\n<p>\u00a0<\/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:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/photo_2024-08-02-14.40.26.jpeg\" width=\"200\" height=\"200\" alt=\"Teodor Irkhin\" 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                                            <h4>Teodor Irkhin<\/h4>\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":964,"featured_media":530756,"comment_status":"closed","ping_status":"closed","template":"","categories":[4759,4113,89],"tags":[1851,8628,21],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/idea\/530555"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/idea"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/types\/idea"}],"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=530555"}],"version-history":[{"count":4,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/idea\/530555\/revisions"}],"predecessor-version":[{"id":530780,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/idea\/530555\/revisions\/530780"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media\/530756"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media?parent=530555"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/categories?post=530555"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/tags?post=530555"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/cross-post-tag?post=530555"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}