본문 바로가기

Kotlin

(8)
Kotlin - 코틀린에서 함수를 다루는 방법 함수 선언 문법 public fun max(a: Int, b: Int): Int { return if (a > b) { a } else { b } } 위의 예제의 코드를 한번 분석해보도록 하자 public: 접근 지시어로 public의 경우 생략이 가능하다 fun: 함수를 의미하는 키워드 max: 함수 이름 함수의 매개변수, 매개변수명: 타입 함수의 반환 타입 (Unit인 경우 생략 가능) 추가로 함수가 하나의 결과값을 가진다면 {}가 아닌 =로 표현이 가능하다. public fun max(a: Int, b: Int): Int = return if (a > b) { a } else { b } 위의 코드는 간단히 아래와 같이 변환이 가능하다. public fun max(a: Int, b: Int) = if..
Kotlin - 코틀린에서 예외를 다루는 방법 try catch finally 구문 코틀린에서도 try catch 구문에 대해서 자바와 동일하게 사용이 가능하다. 한가지 예시로 아래의 자바 구문을 코틀린으로 변경해 보자 private int parseIntOrThrow(@NotNull String str) { try { return Integer.parseInt(str); } catch (NumberFormatException e) { throw new IllegalArgumentException(String.format("주어진 %s는 숫자가 아닙니다.", str)); } } fun parseIntOrThrow(str: String): Int { try { return str.toInt() } catch (e: NumberFormatExceptio..
Kotlin - 코틀린에서 반복문을 다루는 방법 for-each문 val numbers = listOf(1L, 2L, 3L) for (number in numbers) { println(number) } 자바에서는 :을 사용하여 for문을 사용하였지만 코틀린에서는 in을 사용하여 for문을 사용한다. 통상적으로 많이 사용하는 for문에 대해서도 코틀린으로 간단히 구현이 가능하다. for (i in 1..3) { println(i) } i가 내려가는 경우는 downTo 를 사용해야 한다. for (i in 3 downTo 1) { println(i) } i가 2씩 증가되는 경우에는 step을 사용해야 한다. for (i in 1..5 step 2) { println(i) } 즉 for문에 대해서는 for(value in IntRange step step..
Kotlin - 코틀린에서 조건문을 다루는 방법 if문 / Expression & Statement 자바와 코틀린은 문법적으로는 동일하게 if문에 대해 사용이 가능하지만 한가지 다른점이 존재한다. Java에서는 if-else는 Statement지만 Kotlin에서는 Expression이다. 위의 내용에 대해 간단한 부연 설명을 붙이자면 Statement: 프로그램의 문장, 하나의 값으로 도출되지 않는다. Expression: 하나의 값으로 도출되는 문장 즉, 자바에서는 if-else가 하나의 값으로 도출되지 않아 필요에 의해서는 삼항 연산자를 사용하여야 하지만 코틀린에서는 if-else가 하나의 값으로 도출되기 때문에 변수에서나 함수에서 반환값으로도 사용이 가능하다. => 코틀린에서는 삼항 연산자가 존재하지 않는다. 추가로 코틀린에서는 어떠한 값이 특..
Kotlin - 코틀린에서 연산자를 다루는 방법 단항 연산자 / 산술 연산자 코틀린에서는 자바의 단항연산자 / 산술연산자를 모두 동일하게 사용가능하다. 한가지 다른 점은 코틀린에서는 객체를 비교할때 비교연산자를 사용하게 되면 자동으로 compareTo를 호출하여 준다. 비교 연산자와 동등성, 동일성 동등성(Equality) : 두 객체의 값이 같은가? 동일성(Identity): 완전히 동일한 객체인가? 주소 참조값이 같은가? 자바에서는 동일성에는 ==, 동등성에 equals을 사용 코틀린에서는 동일성에는 ===, 동등성에 ==을 호출 => 코틀린에서는 ==을 사용하면 간접적으로 equals를 호출해준다. 논리 연산자와 코틀린에 있는 특이한 연산자 논리 연산자에 대해서도 자바와 동일하게 코틀린에서 사용이 가능하고 자바와 마찬가지로 Lazy연산을 수행합니..
Kotlin - 코틀린에서 Type을 다루는 방법 기본 타입 코틀린에서는 선언된 기본값을 보고 타입을 추론한다. val number1 = 3 // Int val number2 = 3L // Long val number3 = 3.0f // Float val number4 = 3.0 // Double Java와 Kotlin의 다른 내용 Java: 기본 타입간의 변환은 암시적으로 이루어질 수 있다. Kotlin: 기본 타입간의 변환은 명시적으로 이루어져야 한다. int number1 = 4; long number2 = number1; System.out.println(number1 + number2); 자바의 경우 위의 코드는 정상적으로 값이 출력되게 된다. 즉 int 타입이 long 타입으로 암시적으로 변경이 가능하다. => 자바에서는 더 큰 타입으로 암시..
Kotlin - 코틀린에서 null을 다루는 방법 Kotlin 에서의 null 체크 public boolean startsWithA(String str) { reutrn str.startsWith("A"); } 첫번째 예시로 위의 코드를 보자 위의 코드는 안전한 코드일까? ==> No 파라미터인 str이 null이라면 NPE 가 발생하게 된다. 자 그럼 자바에서의 3가지 예시에 대해 코틀린으로 변환하는 코드를 작성해보자 1. str이 null일 경우 RuntimeException을 발생하는 경우 // java public boolean startsWithA1(String str) { if (str == null) { throw new IllegalArgumentException("null"); } return str.startsWith("A"); } 1..
Kotlin - 코틀린에서 변수를 다루는 방법 오늘은 코틀린에 대해 강의를 들으면서 내용을 정리해보려고 한다. 최근 채용공고를 보면 많은 회사들이 코틀린을 사용하는걸 볼수 있고, 기존 자바와 100% 호환 가능하다는 이야기를 듣게 되었다. 블라인드나 개발자 오픈 카톡에서도 코프링에 대해 많이 이야기가 나오는걸 보며 한번 배워보면 좋겠다는 생각을 했다. 그 첫번째로 인프런에 있는 최태현님의 자바 개발자를 위한 코틀린 입문 이라는 강의를 들어보려고 한다. https://www.inflearn.com/course/java-to-kotlin/dashboard 자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide) - 인프런 | 강의 이 강의를 통해 Kotlin 언어의 특성과 배경, 문법과 동작 원리, 사용 용례, Java와 K..