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를 출력하는 소스
fun main(args: Array<String>) {
println("Hello Kotlin!")
}
평범하게 Hello Kotlin! 을 출력하는 소스
@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에 출력된다.
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가 정상 출력됨을 확인
Author And Source
이 문제에 관하여(Kotlin Study 01), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@parkchaebin/Kotlin-Study-01저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)