Kotlin Study 01

IDE : Intellij
JDK : zulu11

Kotlin main 메서드

HelloKotlin.kt

fun main(args: Array<String>) {
    println("Hello Kotlin!")
}

평범하게 Hello Kotlin! 을 출력하는 소스

Decompile

@Metadata(
   mv = {1, 5, 1},
   k = 2,
   d1 = {"\u0000\u0014\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0011\n\u0002\u0010\u000e\n\u0002\b\u0002\u001a\u0019\u0010\u0000\u001a\u00020\u00012\f\u0010\u0002\u001a\b\u0012\u0004\u0012\u00020\u00040\u0003¢\u0006\u0002\u0010\u0005¨\u0006\u0006"},
   d2 = {"main", "", "args", "", "", "([Ljava/lang/String;)V", "KotlinStudy.main"}
)
public final class HelloKotlinKt {
   public static final void main(@NotNull String[] args) {
      Intrinsics.checkNotNullParameter(args, "args");
      String var1 = "Hello Kotlin!";
      boolean var2 = false;
      System.out.println(var1);
   }
}
  • [Tools > Kotlin > Show Kotlin ByteCode > Decompile 버튼]
  • Decompile 시 확인할 수 있는 소스
  • JVM에 실행되기 위해 문자열은 String var0으로 선언되어 System.out.println()에 의해 console에 출력된다.

MainArgs.kt

fun main(args: Array<String>) {
    println(args[0])
    println(args[1])
    println(args[2])
}

main 메서드의 Argument를 출력하는 소스

실행결과, args에 아무 데이터도 없기 때문에 ArrayIndexOutOfBoundsException 예외 발생

[Run > EditConfigurations] 메뉴에서 Arguments 정의
공백을 기준으로 args[0], args[1], args[2]에 각각 "Hello" "Kotlin" "2021"이 저장된다.

정의된 Arguments가 정상 출력됨을 확인

좋은 웹페이지 즐겨찾기