ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Kotlin] Intellij 에서 코틀린 시작하기
    Kotlin/Kotlin 2022. 9. 9. 00:01

    1.  File -> New -> Project

    경로 지정 및 프로젝트 이름 지정

    JDK 설정

     

     

    2. 잠시 후에 코틀린 프로젝트가 생성되고 화살표를 눌러 실행시켜봅니다.

    결과

    3. 자바코드 실행시켜 보기

    public class HelloJava {
        public static void main(String[] args) {
            System.out.println("Hello Java");
        }
    }

     

    Java 클래스를 하나 만들고 실행시켜봅니다.

     

    컴파일 에러가 나올 수 있습니다.

    1. File -> Project Structure -> Project or SDKs -> 내가 선택한 자바 버전 맞는지 확인

    2. File -> Settings -> Java Compiler -> 내가 선택한 자바 버전 맞는지 확인

     

     

    4. 자바코드를 코틀린 코드로 변환해보기

    새로운 코틀린 파일을 만들고 자바 코드를 복사 붙여 넣기 하면 메시지가 나오게 됩니다.

     

    변환 전

    public class HelloJava {
        public static void main(String[] args) {
            System.out.println("Hello Java");
        }
    }
    
    class Person{
        private final String name;
    
        public Person(String name) {
            this.name = name;
        }
    
        public String getName() {
            return name;
        }
    }

    변환 후

    object HelloJava {
        @JvmStatic
        fun main(args: Array<String>) {
            println("Hello Java")
        }
    }
    
    internal class Person(val name: String)

     

    5. 코틀린코드를 자바 코드로 변환해보기

    Tools -> Kotlin -> Show Kotlin bytecode

    우측 상단에 Decompile 버튼을 누르면 자바로 변화됩니다.

     

    바이트 코드로 변환한 것이기 때문에 가독성이 좋진 않지만 코틀린이 어떻게 자바로 표현되는지 이해하는데 좋습니다.

    // HelloJava.java
    import kotlin.Metadata;
    import kotlin.jvm.JvmStatic;
    import kotlin.jvm.internal.Intrinsics;
    import org.jetbrains.annotations.NotNull;
    
    @Metadata(
       mv = {1, 5, 1},
       k = 1,
       d1 = {"\u0000\u001e\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0011\n\u0002\u0010\u000e\n\u0002\b\u0002\bÆ\u0002\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u001b\u0010\u0003\u001a\u00020\u00042\f\u0010\u0005\u001a\b\u0012\u0004\u0012\u00020\u00070\u0006H\u0007¢\u0006\u0002\u0010\b¨\u0006\t"},
       d2 = {"LHelloJava;", "", "()V", "main", "", "args", "", "", "([Ljava/lang/String;)V", "HelloKotlin"}
    )
    public final class HelloJava {
       @NotNull
       public static final HelloJava INSTANCE;
    
       @JvmStatic
       public static final void main(@NotNull String[] args) {
          Intrinsics.checkNotNullParameter(args, "args");
          String var1 = "Hello Java";
          boolean var2 = false;
          System.out.println(var1);
       }
    
       private HelloJava() {
       }
    
       static {
          HelloJava var0 = new HelloJava();
          INSTANCE = var0;
       }
    }
    // Person.java
    import kotlin.Metadata;
    import kotlin.jvm.internal.Intrinsics;
    import org.jetbrains.annotations.NotNull;
    
    @Metadata(
       mv = {1, 5, 1},
       k = 1,
       d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0004\b\u0000\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004R\u0011\u0010\u0002\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u0007"},
       d2 = {"LPerson;", "", "name", "", "(Ljava/lang/String;)V", "getName", "()Ljava/lang/String;", "HelloKotlin"}
    )
    public final class Person {
       @NotNull
       private final String name;
    
       @NotNull
       public final String getName() {
          return this.name;
       }
    
       public Person(@NotNull String name) {
          Intrinsics.checkNotNullParameter(name, "name");
          super();
          this.name = name;
       }
    }

     

     

     

     

    출처

    https://www.jetbrains.com/help/idea/get-started-with-kotlin.html

     

    Get started with Kotlin | IntelliJ IDEA

     

    www.jetbrains.com

     

    댓글

Designed by Tistory.