{"id":469134,"date":"2024-04-26T07:57:16","date_gmt":"2024-04-26T06:57:16","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=idea&#038;p=469134"},"modified":"2024-04-26T08:44:00","modified_gmt":"2024-04-26T07:44:00","slug":"k2-kotlin-mode-alpha-in-intellij-idea","status":"publish","type":"idea","link":"https:\/\/blog.jetbrains.com\/ko\/idea\/2024\/04\/k2-kotlin-mode-alpha-in-intellij-idea\/","title":{"rendered":"IntelliJ IDEA\uc758 K2 Kotlin \ubaa8\ub4dc(\uc54c\ud30c)"},"content":{"rendered":"<p>IntelliJ IDEA 2024.1 \ubc84\uc804\ubd80\ud130 \uc120\ud0dd\uc801\uc778 K2 \ubaa8\ub4dc\uac00 \uc9c0\uc6d0\ub429\ub2c8\ub2e4. \uc774 \ubaa8\ub4dc\uc5d0\uc11c\ub294 IDE\uac00 K2 \ucef4\ud30c\uc77c\ub7ec\ub97c \uc0ac\uc6a9\ud558\uc5ec Kotlin \ucf54\ub4dc \ubd84\uc11d\uc744 \ub354 \ube60\ub974\uace0 \uac15\ub825\ud558\uac8c \ucc98\ub9ac\ud569\ub2c8\ub2e4.<br \/>\uc774\uc81c IDE\uc5d0\uc11c \ub2e4\uc74c \ub450 \uac00\uc9c0 \ubaa8\ub4dc\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li>\ud074\ub798\uc2dd \ubaa8\ub4dc(\ub514\ud3f4\ud2b8 \uac12\uc73c\ub85c \ud65c\uc131\ud654) &#8211; IDE\uac00 \ud45c\uc900(K1) Kotlin \ucef4\ud30c\uc77c\ub7ec\ub97c \uc0ac\uc6a9\ud558\uc5ec Kotlin \ucf54\ub4dc\ub97c \ubd84\uc11d\ud569\ub2c8\ub2e4.<\/li>\n<li>K2 \ubaa8\ub4dc(\ud604\uc7ac \uc54c\ud30c) &#8211; IDE\uac00 \uc0c8\ub85c\uc6b4 K2 \ucef4\ud30c\uc77c\ub7ec\ub97c \ucf54\ub4dc \ubd84\uc11d \uc5d4\uc9c4\uc73c\ub85c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p>\ub450 \ubaa8\ub4dc\ub294 IDE\uc758 \ucf54\ub4dc \ubd84\uc11d\uc5d0\ub9cc \uc601\ud5a5\uc744 \uc90d\ub2c8\ub2e4. <a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew-eap.html\" target=\"_blank\" rel=\"noopener\">\ud504\ub85c\uc81d\ud2b8\ub97c K2 \ucef4\ud30c\uc77c\ub7ec\ub85c \ucef4\ud30c\uc77c\ub9c1<\/a>\ud558\ub824\ub294 \uacbd\uc6b0, \uc774\ub97c \ud504\ub85c\uc81d\ud2b8\uc758 \ube4c\ub4dc \uc124\uc815\uc5d0\uc11c \uc9c0\uc815\ud574\uc57c \ud569\ub2c8\ub2e4. K2 IDE \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.<\/p>\n<h2 class=\"wp-block-heading\">K2 \ubaa8\ub4dc\ub780?<\/h2>\n<p>Kotlin \uc5b8\uc5b4\ub85c \uac1c\ubc1c\ud558\ub294 \uc791\uc5c5\uc744 \ub354\uc6b1 \uc27d\uac8c \ub9cc\ub4e4\uae30 \uc704\ud574 Kotlin \ucef4\ud30c\uc77c\ub7ec\ub97c \uc644\uc804\ud788 \uc0c8\ub86d\uac8c \ub9cc\ub4e4\uc5b4 \uc131\ub2a5\uc744 \uac1c\uc120\ud558\uace0 \ub0b4\ubd80 \uc544\ud0a4\ud14d\ucc98\ub97c \uac15\ud654\ud588\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 Kotlin \ucef4\ud30c\uc77c\ub7ec\uac00 IDE \ub0b4\uc5d0\uc11c \ucf54\ub4dc \ubd84\uc11d \uc5d4\uc9c4\uc73c\ub85c \uc0ac\uc6a9\ub418\uae30 \ub54c\ubb38\uc5d0 K2 \ucef4\ud30c\uc77c\ub7ec\ub97c IDE\uc758 \uc694\uad6c \uc0ac\ud56d\uc5d0 \ub9de\uac8c \ucd5c\uc801\ud654\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<p>K2 \ubaa8\ub4dc\uc758 \ud2b9\uc9d5:<\/p>\n<ul>\n<li><strong>\ucd94\ud6c4 Kotlin \uae30\ub2a5\uacfc\uc758 \ud638\ud658\uc131<\/strong>: \uc0c8\ub85c\uc6b4 K2 \ubaa8\ub4dc\ub294 \uc55e\uc73c\ub85c K2 Kotlin \ucef4\ud30c\uc77c\ub7ec\uc5d0\ub9cc \uc81c\uacf5\ub420 \ucd94\ud6c4 \uc5b8\uc5b4 \uae30\ub2a5\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>\ucf54\ub4dc \ubd84\uc11d \uc548\uc815\uc131<\/strong>: \ucf54\ub4dc \uc548\uc815\uc131\uc774 \uac1c\uc120\ub420 \uac83\uc73c\ub85c \uc608\uc0c1\ub429\ub2c8\ub2e4. \uc989, <em>Highlighting is suspended due to internal error(\ub0b4\ubd80 \uc624\ub958\ub85c \uc778\ud574 \uac15\uc870 \ud45c\uc2dc\uac00 \uc77c\uc2dc \uc911\uc9c0\ub418\uc5c8\uc2b5\ub2c8\ub2e4)<\/em>\uc640 \uac19\uc740 \uba54\uc2dc\uc9c0\uac00 \ub354\ub294 \ud45c\uc2dc\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc544\ud0a4\ud14d\ucc98\uac00 \uc644\uc804\ud788 \uc0c8\ub85c \uc124\uacc4\ub418\uc5c8\uae30 \ub54c\ubb38\uc5d0 IDE \uae30\ub2a5\uc758 \ud488\uc9c8\uacfc \uc548\uc815\uc131\uc774 \uac1c\uc120\ub420 \uac83\uc785\ub2c8\ub2e4.<\/li>\n<li><strong>\uac1c\uc120\ub41c IDE \uc131\ub2a5<\/strong>: Kotlin \ucf54\ub4dc \uac15\uc870 \ud45c\uc2dc \ubc0f Kotlin \ucf54\ub4dc \uc644\uc131\uc758 \uc18d\ub3c4\uac00 \ud06c\uac8c \uc99d\uac00\ud588\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-459840\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/03\/01_Performance-tests-K2-2x-1.png\" alt=\"\" width=\"1700\" height=\"832\" \/><figcaption class=\"wp-element-caption\">IntelliJ Ultimate \uc18c\uc2a4 \ubca0\uc774\uc2a4\uc5d0 \ub300\ud574 \uc218\ud589\ud55c \uc131\ub2a5 \ud14c\uc2a4\ud2b8<\/figcaption><\/figure>\n<ul>\n<li><strong>\ud5a5\uc0c1\ub41c API<\/strong>: \ucd94\ud6c4 \ubc84\uc804\uc5d0\uc11c \ud0c0\uc0ac \ud50c\ub7ec\uadf8\uc778\uc5d0 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uc548\uc815\uc801\uc774\uba70 \uc0ac\uc6a9\ud558\uae30 \uc26c\uc6b4 API\ub97c \uacf5\uac1c\ud560 \uc608\uc815\uc785\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\">\uc9c0\uc6d0\ub418\ub294 IDE \uae30\ub2a5<\/h2>\n<p>\ub2e4\uc218\uc758 IDE \uae30\ub2a5\uc774 K1 \ucef4\ud30c\uc77c\ub7ec\uc758 API\uc5d0 \uc758\uc874\ud558\uace0 \uc788\uae30 \ub54c\ubb38\uc5d0 IntelliJ IDEA\uc5d0\uc11c K2 \ucef4\ud30c\uc77c\ub7ec\ub97c \uc9c0\uc6d0\ud558\uae30 \uc704\ud574 \uc0c1\ub2f9\uc218\uc758 \uae30\ub2a5\uc744 \ucc98\uc74c\ubd80\ud130 \ub2e4\uc2dc \ub9cc\ub4e4\uc5c8\uc2b5\ub2c8\ub2e4. \uc774 \uacfc\uc815\uc5d0\uc11c \ud604\uc7ac\uc758 \uc124\uacc4\ub97c \uc7ac\uac80\ud1a0\ud558\uc5ec K1 \uae30\ubc18\uc758 IDE \uad6c\uc131\uc5d0\uc11c\ub294 \ud574\uacb0\ud560 \uc218 \uc5c6\uc5c8\ub358 \ubb38\uc81c\ub97c \ud574\uacb0\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc131\uae09\ud558\uac8c \ucd5c\ub300\ud55c \ub9ce\uc740 IDE \uae30\ub2a5\uc744 \uad6c\ud604\ud558\uac70\ub098 \ub9c8\uc774\uadf8\ub808\uc774\uc158\ud558\uc9c0\ub294 \uc54a\uc73c\ub824\uace0 \ud569\ub2c8\ub2e4. \ucd5c\uace0\uc758 \ud488\uc9c8\uc744 \ud655\ubcf4\ud558\uae30 \uc704\ud574 \ub9e4\ubc88 \uc870\uae08\uc529 \uae30\ub2a5\uc744 \uc644\ubcbd\ud558\uac8c \ub9cc\ub4dc\ub294 \uac83\uc744 \ubaa9\ud45c\ub85c \ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\ub7ec\ubd84\uc758 \ud53c\ub4dc\ubc31\uc744 \ubc1b\uc73c\uba70 \uc9c0\uc18d\uc801\uc778 \ub9b4\ub9ac\uc2a4\ub97c \ud1b5\ud574 IDE \uae30\ub2a5 \uc9c0\uc6d0\uc744 \uacc4\uc18d \ud655\ub300\ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<p>IntelliJ IDEA 2024.1\uc758 K2 \ubaa8\ub4dc\ub294 \ub2e4\uc74c\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.<\/p>\n<ul>\n<li>\ucf54\ub4dc \uac15\uc870 \ud45c\uc2dc.<\/li>\n<li>\ucf54\ub4dc \uc644\uc131.<\/li>\n<li>\ud0d0\uc0c9.<\/li>\n<li><em>Find Usages(\uc0ac\uc6a9 \uc704\uce58 \ucc3e\uae30)<\/em><\/li>\n<li>\ub514\ubc84\uadf8.<\/li>\n<li><em>Rename(\uc774\ub984 \ubcc0\uacbd)<\/em>, <em>Introduce Variable(\ubcc0\uc218 \uc0bd\uc785)<\/em>, <em>Move(\uc774\ub3d9)<\/em>, <em>Inline Variable(\ubcc0\uc218 \uc778\ub77c\uc778\ud654)<\/em>, <em>Change Signature(\uc2dc\uadf8\ub2c8\ucc98 \ubcc0\uacbd)<\/em>, <em>Safe Delete(\uc548\uc804\ud55c \uc0ad\uc81c)<\/em>\uc640 \uac19\uc740 \ub9ac\ud329\ud130\ub9c1.<\/li>\n<li>\ucf54\ub4dc \uc11c\uc2dd \uc9c0\uc815, \ub9e4\uac1c\ubcc0\uc218 \uc815\ubcf4, \uc5ec\ubc31 \uc544\uc774\ucf58, QuickDoc, \uac00\uc838\uc624\uae30 \ucd5c\uc801\ud654 \ubc0f <em>Type Hierarchy(\ud0c0\uc785 \uacc4\uce35 \uad6c\uc870)<\/em>\uc640 \uac19\uc740 \uae30\ubcf8\uc801\uc778 \ud3b8\uc9d1 \uae30\ub2a5.<\/li>\n<li>\ub9ce\uc774 \uc0ac\uc6a9\ub418\ub294 \uac80\uc0ac, \uc778\ud150\uc158 \ubc0f \ube60\ub978 \uc218\uc815 \uc911 \uc77c\ubd80.<\/li>\n<li>IntelliJ IDEA\uc5d0\uc11c \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ubc0f \ud14c\uc2a4\ud2b8 \uc2e4\ud589, \uc0c8\ub85c\uc6b4 \ud504\ub85c\uc81d\ud2b8 \ub9c8\ubc95\uc0ac, \ud504\ub85c\uc81d\ud2b8 \uac00\uc838\uc624\uae30.<\/li>\n<\/ul>\n<p>IntelliJ IDEA 2024.1\uc5d0\uc11c K2 \ubaa8\ub4dc\ub294 \ub2e4\uc74c\uc744 \uc9c0\uc6d0\ud558\uc9c0 <strong>\uc54a\uc2b5\ub2c8\ub2e4<\/strong>.<\/p>\n<ul>\n<li>Kotlin Multiplatform \ud504\ub85c\uc81d\ud2b8(KMP).<\/li>\n<li>Android \ud504\ub85c\uc81d\ud2b8.<\/li>\n<li><em>Extract Function(\ud568\uc218 \ucd94\ucd9c)<\/em> \ub9ac\ud329\ud130\ub9c1.<\/li>\n<li>\uc778\ub808\uc774 \ud78c\ud2b8.<\/li>\n<li>Java\uc5d0\uc11c Kotlin\uc73c\ub85c \ubcc0\ud658.<\/li>\n<li><em>Methods(\uba54\uc11c\ub4dc)<\/em> \ubc0f <em>Calls Hierarchy(\ud638\ucd9c \uacc4\uce35 \uad6c\uc870)<\/em>.<\/li>\n<li><em>Smart Step Into(\uc2a4\ub9c8\ud2b8 \uc2a4\ud15d\uc778\ud22c)<\/em>.<\/li>\n<li>\ucf54\ub8e8\ud2f4 \ub514\ubc84\uadf8 \ub3c4\uad6c.<\/li>\n<li>.gradle.kts \ud30c\uc77c \ub0b4 \ucf54\ub4dc \ubd84\uc11d.<\/li>\n<li>\uae30\ud0c0 \uc0ac\uc18c\ud55c \uae30\ub2a5.<\/li>\n<li><strong>Kotlin \ud50c\ub7ec\uadf8\uc778\uc5d0 \uc758\uc874\ud558\ub294 \ud0c0\uc0ac IntelliJ IDEA \ud50c\ub7ec\uadf8\uc778\uc740 \ube44\ud65c\uc131\ud654\ub429\ub2c8\ub2e4. <\/strong>\ud0c0\uc0ac \ud50c\ub7ec\uadf8\uc778 \uc800\uc791\uc790\ub97c \uc704\ud55c \ub9c8\uc774\uadf8\ub808\uc774\uc158 \uac00\uc774\ub4dc\ub3c4 \uace7 \uc81c\uacf5\ub429\ub2c8\ub2e4!<\/li>\n<\/ul>\n<p>\ub204\ub77d\ub41c \uae30\ub2a5\uc740 \ud5a5\ud6c4 \ub9b4\ub9ac\uc2a4\uc5d0\uc11c \uc9c0\uc6d0\ub429\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">K2 Kotlin \ucef4\ud30c\uc77c\ub7ec \ubaa8\ub4dc\ub97c \uc0ac\uc6a9\ud574 \ubcf4\ub824\uba74?<\/h2>\n<p><em>Settings(\uc124\uc815) | Languages &amp; Frameworks(\uc5b8\uc5b4 \ubc0f \ud504\ub808\uc784\uc6cc\ud06c) | Kotlin<\/em>\uc73c\ub85c \uc774\ub3d9\ud55c \ub2e4\uc74c <em>Enable the K2-based Kotlin plugin(K2 \uae30\ubc18 Kotlin \ud50c\ub7ec\uadf8\uc778 \ud65c\uc131\ud654)<\/em> \uccb4\ud06c\ubc15\uc2a4\ub97c \ud074\ub9ad\ud558\uc5ec \uc0c8 \ubaa8\ub4dc\ub97c \ud65c\uc131\ud654\ud558\uc138\uc694<em>.<\/em><\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-459827\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/03\/K2-Kotlin-Mode.png\" alt=\"IntelliJ IDEA\uc5d0\uc11c Kotlin K2 \ubaa8\ub4dc\ub97c \ud65c\uc131\ud654\ud558\ub294 \ubc29\ubc95\" width=\"1800\" height=\"722\" \/><\/figure>\n<p>K2 \ubaa8\ub4dc\ub85c \uc804\ud658\ud55c \ud6c4\uc5d0\ub294 IDE\ub97c \uc7ac\uc2dc\uc791\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">\ud53c\ub4dc\ubc31<\/h2>\n<p>\uc5ec\ub7ec\ubd84\uc758 \ud53c\ub4dc\ubc31\uc744 \uae30\ub2e4\ub9bd\ub2c8\ub2e4. IntelliJ IDEA\uc758 K2 Kotlin \ubaa8\ub4dc\ub294 \uc5b4\ub560\ub294\uc9c0, \uc774 \ubaa8\ub4dc\uc5d0 \uc5b4\ub5a4 \uae30\ub2a5\uc774 \uc788\uc5c8\uc73c\uba74 \uc88b\uaca0\ub294\uc9c0 \ud639\uc740 \uc131\ub2a5\uc740 \uc5b4\ub560\ub294\uc9c0 \uc54c\ub824\uc8fc\uc138\uc694.<\/p>\n<p>\uc544\ub798\uc5d0 \ub313\uae00\uc744 \ub0a8\uae30\uac70\ub098, <a href=\"https:\/\/kotlinlang.slack.com\/archives\/C0B8H786P\" target=\"_blank\" rel=\"noopener\">\uacf5\uac1c Slack \ucc44\ub110<\/a>\uc5d0 \uba54\uc2dc\uc9c0\ub97c \uc4f0\uac70\ub098 \ud639\uc740 <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KTIJ\" target=\"_blank\" rel=\"noopener\">YouTrack<\/a>\uc5d0 \uc774\uc288\ub97c \uc0dd\uc131\ud558\uc5ec \uc5ec\ub7ec\ubd84\uc758 \uacbd\ud5d8\uc744 \uacf5\uc720\ud574 \uc8fc\uc138\uc694.<\/p>\n<p>\uc5ec\ub7ec\ubd84\uc758 \ud53c\ub4dc\ubc31\uc740 \uc800\ud76c\uac00 \uc81c\ud488\uc758 \uc131\ub2a5\uc744 \uc801\uadf9\uc801\uc73c\ub85c \uac1c\uc120\ud558\ub294 \ub370 \ud070 \ub3c4\uc6c0\uc774 \ub429\ub2c8\ub2e4!<\/p>\n<p><em>\uc990\uac81\uac8c \uac1c\ubc1c\ud558\uc138\uc694!<\/em><\/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":459326,"comment_status":"closed","ping_status":"closed","template":"","categories":[89],"tags":[21],"cross-post-tag":[6355],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/idea\/469134"}],"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=469134"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/idea\/469134\/revisions"}],"predecessor-version":[{"id":469185,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/idea\/469134\/revisions\/469185"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media\/459326"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media?parent=469134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/categories?post=469134"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/tags?post=469134"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/cross-post-tag?post=469134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}