반응형

Kotlin 6

[Kotlin] Coroutine 실행 순서 살펴보기

코루틴 실행순서를 간단하게 테스트해 보았습니다. 코루틴의 개념은 다루지 않습니다!class MainActivity : AppCompatActivity() { private val mainActivityViewModel: MainActivityViewModel by viewModels() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) mainActivityViewModel.testCoroutine() }}  [1] 하나의 코루틴스코프 내에 실행 순서private const v..

Language/Kotlin 2024.07.02

[Kotlin] 자료형 | 자료형 변환 | 스마트 캐스트

◼️ Kotlin코틀린은 JetBrains에서 개발하고 보급.자바와 달리 문장 끝에 세미콜론(;)은 옵션Google IO 2017에서 Android 공식 언어로 추가 발표변수는 Nullable과 NotNull로 나뉨  ◼️ 코틀린의 장점자료형에 대한 오류를 미리 잡을 수 있음 (컴파일러가 타입을 검증한다.)자바와 비교했을때 NullPointer Exception에서 비교적 자유로움데이터형 선언 시 Null 가능한 형식과 불가능한 형식 지원자바와 완벽하게 상호호환됨자바와 비교했을 때 간결하고 효율적인 프로그래밍이 가능함수형 프로그래밍과 객체 지향 프로그래밍이 모두 가능세미콜론 생략 가능  ◼️ 참고코틀린은 JVM위에서 동작한다.자바는 class안에 main 메서드를 선언해야 한다. 하지만 코틀린은 clas..

Language/Kotlin 2024.05.12

[Kotlin] 자료형 | 자료형 변환 | 스마트 캐스트

◼️ Kotlin코틀린은 JetBrains에서 개발하고 보급.자바와 달리 문장 끝에 세미콜론(;)은 옵션Google IO 2017에서 Android 공식 언어로 추가 발표변수는 Nullable과 NotNull로 나뉨 ◼️ 코틀린의 장점자료형에 대한 오류를 미리 잡을 수 있음 (컴파일러가 타입을 검증한다.)자바와 비교했을때 NullPointer Exception에서 비교적 자유로움데이터형 선언 시 Null 가능한 형식과 불가능한 형식 지원자바와 완벽하게 상호호환됨자바와 비교했을 때 간결하고 효율적인 프로그래밍이 가능함수형 프로그래밍과 객체 지향 프로그래밍이 모두 가능세미콜론 생략 가능 ◼️ 참고코틀린은 JVM위에서 동작한다.자바는 class안에 main 메서드를 선언해야 한다. 하지만 코틀린은 class없..

Language/Kotlin 2024.05.04

[Kotlin] infix & top level function

📌 infix 확장 함수Kotlin에서 infix 확장함수는 특정 타입의 메서드를 더 읽기 쉽고 자연스러운 문법으로 호출할 수 있게 해주는 기능입니다. infix 함수는 한 쌍의 객체 사이에 중위 연산자처럼 사용될 수 있으며, 단일 파라미터를 받습니다. 이를 통해 코드를 더 간결하고 직관적으로 작성할 수 있습니다. infix 확장함수 정의 방법infix 함수를 정의하기 위해서는 몇 가지 규칙이 있습니다.멤버 함수 또는 확장 함수여야 합니다. 단 하나의 파라미터를 가져야 합니다. infix 키워드로 시작해야 합니다. 사용 시 주의 사항infix 함수는 가독성을 높이는 목적으로 사용되며, 남발할 경우 코드의 명시성을 해칠 수 있으므로 적절한 상황에서 사용하는 것이 중요합니다. 함수가 단 하나의 인자만 받는..

Language/Kotlin 2024.04.28

[Effective Kotlin] 1장 안전성 : Item 6번 ~ 10번

📌 [Item 6] 사용자 정의 오류보다는 표준 오류를 사용하라제목 처럼 사용자 정의 오류를 사용하기 보단, 가능한 표준 라이브러리를 사용하는 것이 좋다.  ✅ 표준 라이브러리를 권장하는 이유많은 개발자들이 더 쉽고 빠르게 이해할 수 있다. 그러므로 재사용성도 더 좋아집니다. ✅ 표준 라이브러리 예외IllegalArgumentException과 IllegalStateException : require와 check를 사용해 throw 할 수 있는 예외다.IndexOutOfBoundsException : 인덱스 파라미터의 값이 범위를 벗어났을때 나타냅니다. 보통 ArrayList.get(Int)를 사용할 때 throw 된다.ConcurrentModificationException : 동시 수정을 금지했는데..

Language/Kotlin 2024.04.28

[Effective Kotlin] 1장 안전성 : Item 1번 ~ 5번

📌 [Item 1] 가변성을 제한하라✅  var 보다는 val을 사용하여 가변성을 줄이자!var읽고 쓰기가 모두 가능한 프로퍼티val읽기 전용 프로퍼티지만, 변경할 수 없음을 의미하는 것은 아니다.완전 불변이 필요하다면 final 프로퍼티를 사용하는 것이 좋다.✅  val & 스마트 캐스트타입 캐스트가 불가능한 경우 val name: String? = "dong" val surname: String = "hyeok" val fullName: String? get( ) = name?.let{ "$it $surname"} fun main() { // 타입 캐스트가 불가능하기 때문에 fullName!!...

Language/Kotlin 2024.04.23
반응형