우주먼지
Kotlin Controll Flow
Languages/Kotlin 2023. 3. 29. 05:18

💡 if-else 문 if 문이 '식'으로 사용되는 경우 값을 반환한다. if '식'의 경우 반다시 else를 동반해야 하지 않으면 컴파일 에러가 난다. // a가 큰경우 max에 a를 대입, 아니면 b 대입 // 상항연산자와 구조가 동일하다 val max = if (a > b) a else b if '식'의 branches들이 블록을 가질 수 있다. { ... } 블록의 마지막 구문이 반환값이 된다. fun if_else_식() { var a = 5 var b = 4 val max = if (a > b) { print("Choose a") a // 블록의 마지막 구문인 a가 반환값이 된다 } else { print("Choose b") b // 블록의 마지막 구문인 b가 반환값이 된다 } } 그리고 코..

[Operator Overloading] 이항 & 단항 산술 연산자 오버로딩
Languages/Kotlin 2023. 3. 29. 03:06

💡 Operator Overloading 코틀린은 특정 연산자의 역할을 함수로 정의할 수 있다. 연산자 오버로딩을 할때 operator라는 키워드를 사용하며 이미 정의된 함수를 새롭게 정의하면 된다. 이항 산술 연산 오버로딩 코틀린은 +,- 같은 산술 연산자를 오버로딩해서 사용 가능하다. 객체끼리 더하거나 뺄 때, 원하는 동작을 함수안에 구현하면 연산자를 통해 표현이 가능하다. 코틀린은 언어에서 미리 정해둔 연산자만 오버로딩할 수 있기 떄문에, 다른 언어와 비교해서 오버로딩 연산자를 정의하고 사용하는 것이 더 쉽고 편리하다. 식함수 이름 a * b times a / b div a % b mod (version 1.1 이상부터는 rem) a + b plus a - b minus 예시 두 객체를 더하는 확장..

[Operator Overloading] 복합 대입 & 비교 연산자 오버로딩
Languages/Kotlin 2023. 3. 29. 03:06

💡 복합 대입 & 비교 연산자 오버로딩 코틀린은 특정 연산자의 역할을 함수로 정의할 수 있다. 연산자 오버로딩을 할때 operator라는 키워드를 사용하며 이미 정의된 함수를 새롭게 정의하면 된다. 복합 대입 연산자 오버로딩 "+=", "-=" 등의 연산자를 복합 대입 연산자라고 하며, "+" 대응 함수인 plus와 같은 연산자를 오버로딩하면 코틀린은 그와 관련된 연산자인 "+=" 도 자동으로 구현해준다. var point = Point(1, 2) point += Point(3, 4) // point = point + Point(3, 4)와 동일하다 // 결과값 Point(x=4, x=6) 비교연산자 오버로딩 - 동등성 연산자 : equels 코틀린에선 모든 객체에 비교 연산을 수행하는 경우, equal..

Kotlin Basic Types
Languages/Kotlin 2023. 3. 26. 04:25

💡 Kotlin Basic Types 코틀린에서 모든것은 객체이다. (Nullable을 위함) 모든것의 멤버 함수나 프로퍼티를 호출 가능하다는 장점이 있다. 숫자형 Java와 거의 비슷하게 처리한다. Kotlin에서 Number는 클래스이다. Java는 Primitive Type에 직접 접근이 불가능하다. Java에서 숫자형이던 char는 Kotlin에서 숫자형이 아닌 문자형이다. Representation 자바 플랫폼을 사용할 경우 숫자형은 JVM Primitive Type으로 저장된다. Nullable이나 Generic의 경우에는 Boxing 되어 Object로 사용된다. Boxing된 경우, Identity를 유지하지 않는다. '==='는 equals와 같은 의미이다 fun 숫자형() { // JV..

Kotlin Basic Syntax
Languages/Kotlin 2023. 3. 26. 02:23

💡 Basic Syntax 코틀린 기본 문법에 대해 IntelliJ를 이용해 학습한다. 함수 정의 함수를 생성할 때 리턴 값이 없는 경우 java/dart에서는 void로 생성해 주면 되지만, kotlin에서는 Unit 이라는 형태로 생성해주거나 아무 것도 넣어주지 않으면 된다. 리턴 값이 있는 경우에는 리턴 타입을 넣어주면 된다. /* ----- 함수 정의 ----- */ // 함수 바디가 식(Expression)인 경우 reutrn문 생략가능, return Type이 추론됨 fun sum(a: Int, b: Int) = a+b // Java의 void역할을 하는 리턴 타입이 없는 Unit(Object)이 있으며, Unit은 생략이 가능하다. fun print1(): Unit { println("Kot..

Java와 Kotlin의 차이
Languages/Kotlin 2023. 3. 24. 17:43

💡 Kotlin 2017년 구글이 안드로이드 공식 언어로 채택한 언어이다. 안드로이드 앱, 서버측 앱등을 개발하는데 사용한다. 간결성, 생산성 코틀린은 자바보다 더 간결하고 직관적이며 읽고 쓰는 시간이 빠르다 자바에 존재하는 여러 준비코드(생성자 등)을 묵시적으로 제공한다. 기능이 다양한 표준 라이브러리를 제공하며 반복 코드를 줄일 수 있다. 코틀린에서 함수는 일급 객체이며 고차 함수로 사용이 가능하다. 타입추론 : 할당되는 값을 알아서 추론해준다. 안정성 런타임 에러보다 컴파일 타임 에러를 통해 디버깅이 용이하다. 모든 타입 + 기본형 타입도 클래스 타입이다. (Nullable을 위해) 코틀린은 Null이 될 수 없는 값을 추적한다. 실행 시점에 NPE가 발생할 수 있는 연산을 가진 코드를 금지한다. ..

검색 태그