Java to Kotlin
-
9강. 코틀린에서 클래스를 다루는 방법BackEnd/Kotlin 2024. 3. 3. 06:00
클래스와 프로퍼티 생성자와 init 커스텀 getter, setter 클래스와 프로퍼티 프로퍼티(property) = 필드(field) + getter + setter 다음은 개명이 불가능한 Java 클래스입니다. public class JavaPerson { private final String name; private int age; public JavaPerson(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } Kot..
-
8강. 코틀린에서 함수를 다루는 방법BackEnd/Kotlin 2024. 2. 21. 20:00
함수 선언 문법 default parameter named argument 같은 타입의 여러 파라미터 받기 (가변인자) 함수 선언 문법 다음은 두 정수를 받아 더 큰 정수를 반환하는 Java 코드입니다. public int max(int a, int b) { if (a > b) { return a; } return b; } Kotlin으로 작성하면 다음과 같습니다. fun max(a: Int, b: Int): Int { return if (a > b) { a } else { b } } 접근 지시어, public은 생략 가능합니다. fun: 함수를 의미하는 키워드입니다. max: 함수 이름입니다. (a: Int, b: Int): 함수의 파라미터는 파라미터명: 타입 입니다. : Int: 함수의 반환 타입입니..
-
7강. 코틀린에서 예외를 다루는 방법BackEnd/Kotlin 2024. 2. 7. 22:00
try catch finally 구문 Checked Exception과 Unchecked Exception try with resources try catch finally 구문 try catch finally 문법 자체는 Java와 Kotlin 모두 동일합니다. 단, Kotlin의 try catch는 if-else 혹은 if-else if-else 처럼 하나의 Expression 으로 간주됩니다. 다음은 Java로 작성된 예외를 처리하는 예제 코드입니다. private int parseIntOrThrow(@NotNull String str) { try { return Integer.parseInt(str); } catch (NumberFormatException e) { throw new Illegal..
-
6강. 코틀린에서 반복문을 다루는 방법BackEnd/Kotlin 2024. 2. 5. 21:00
for-each문(향상된 for문) 전통적인 for문 while문 for-each문 다음은 숫자가 들어 있는 리스트를 하나씩 출력하는 Java 코드입니다. List numbers = Arrays.asList(1L, 2L, 3L); for (long number : numbers) { System.out.println(number); } Kotlin으로 구현하면 다음과 같습니다. val numbers = listOf(1L, 2L, 3L) for (number in numbers) { println(number) } 컬렉션을 만드는 방법(listOf) 과 콜론(:) 대신 in을 사용했다는 점 외 모두 동일합니다. 즉, Java는 콜론(:) Kotlin은 in을 사용합니다. 전통적인 for문 Kotlin에서 ..
-
5강. 코틀린에서 조건문을 다루는 방법BackEnd/Kotlin 2024. 2. 4. 08:30
if문 Expression과 Statement switch와 when if문 if / if-else / if-else if-else 모두 Java와 문법이 동일합니다. 다음은 Java와 Kotlin if문 코드입니다. // Java private void validateScoreIsNotNegative(int score) { if (score < 0) { throw new IllegalArgumentException(String.format("%s는 0보다 작을 수 없습니다.", score)); } } // Kotlin fun validateScoreIsNotNegative(score: Int) { if (score < 0) { throw IllegalArgumentException("${score}는 ..
-
4강. 코틀린에서 연산자를 다루는 방법BackEnd/Kotlin 2024. 1. 31. 22:00
단항 연산자 / 산술 연산자 비교 연산자와 동등성, 동일성 논리 연산자 / 코틀린에 있는 특이한 연산자 연산자 오버로딩 단항 연산자 / 산술 연산자 Java와 Kotlin 완전 동일합니다. 단항 연산자: ++, -- 산술 연산자: +, -, *, /, % 산술대입 연산자: +=, -=, *=, /=, %= 비교 연산자와 동등성, 동일성 Java와 Kotlin 완전 동일합니다. 비교 연산자: >, =, 0) { System.out.println("Money1이 Money2보다 금액이 큽니다."); } } } Kotlin에서는 비교 연산자 사용 시 자동으로 compareTo를 호출해 줍니다. fun main() { val money1 = JavaMoney(2_000L) val money2 = JavaMone..
-
2강. 코틀린에서 null을 다루는 방법BackEnd/Kotlin 2024. 1. 27. 11:30
Kotlin에서의 null 체크 Safe Call과 Elvis 연산자 널 아님 단언 있는 (!!) 플랫폼 타입 다음은 null 을 처리하는 자바 코드입니다. public boolean startsWithA1(String str) { if (str == null) { throw new IllegalArgumentException("null이 들어왔습니다"); } return str.startsWith("A"); } public Boolean startsWithA2(String str) { if (str == null) { return null; } return str.startsWith("A"); } public boolean startsWithA3(String str) { if (str == null) ..
-
1강. 코틀린에서 변수를 다루는 방법BackEnd/Kotlin 2024. 1. 27. 10:30
변수 선언 키워드 - var과 val의 차이점 Kotlin에서의 Primitive Type Kotlin에서의 nullable 변수 Kotlin에서의 객체 인스턴스화 다음은 변수를 다루는 방법에 대한 Java 및 Kotlin 코드 입니다. 코드에 대한 상세 설명은 하단 글을 참고하시면 됩니다. 글자가 너무 작아 보이지 않는 경우, 이미지 하단 첨부된 git commit history 참고 부탁 드립니다. 변수 선언 키워드 - var과 val의 차이점 var(variable)은 값을 바꿀 수 있습니다. val(value)은 값을 바꿀 수 없습니다. (read-only) 코틀린에서는 타입을 자동으로 컴파일러가 추론해 주기 때문에 의무적으로 작성하지 않아도 됩니다. 초기값을 지정해주지 않은 경우, 컴파일러가 ..