Kotlin/Kotlin

[Kotlin] Intellij 에서 코틀린 시작하기

Junuuu 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