-
[Kotlin] Intellij 에서 코틀린 시작하기Kotlin/Kotlin 2022. 9. 9. 00:01728x90
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
'Kotlin > Kotlin' 카테고리의 다른 글
Kotlin과 Java의 컴파일 순서 (0) 2023.11.11 [Kotlin] 상태패턴으로 배송상태를 변경해보자 (0) 2023.08.29 [Kotlin] Result란? (0) 2022.12.04 [Kotlin] 연산자 오버로딩 사용 예시 (0) 2022.11.25 [Kotlin] @JvmStatic이란? (0) 2022.10.28