본문 바로가기

Kotlin 공부 노트10

[Android-Kotlin] Groovy DSL -> Kotlin DSL Migration(코틀린 DSL로 의존성 관리 마이그레이션), Kotlin DSL이란? 이번에 공부해볼 내용은 Kotlin DSL이 뭔지 알아보고 기존 Groovy DSL을 통해 의존성 관리하던걸 Kotlin DSL로 마이그레이션 하는 것을 해보도록 하겠다. # Kotlin DSL란? 우선 본격적으로 들어가기 전에 도대체 Kotlin DSL이 뭔지를 알아야 좀 더 이해하기 쉽기 때문에 이녀석이 뭔지를 알아보자! DSL은 Domain Specific Language의 약자로 특정 분야에 국한해 사용하는 언어를 의미한다. Kotlin DSL은 Gradle, Android, SQL 등 다양한 분야에서 사용된다. 특히 Android 의존성을 관리할때 Groovy DSL를 사용했는데 안드로이드 스튜디오 4.2(Arctic Fox), 2023-04월부터 Groovy DSL가 아니라 Kotlin DSL.. 2023. 10. 29.
DTO, DAO, VO에 알아보자! 이번 포스팅은 개발하면서 한 번쯤은 들어봤고 모르면 안 되는 용어(DTO, DAO, VO)를 간단하게 알아보자! # DTO - Data Transfer Object의 약자로 계층 간 데이터 교환을 하기 위해 사용하는 객체이다. - getter & setter 만 가진 클래스이다 (코틀린은 Data Class). - 쉽게 말해서 HTTP 통신시 JSON 타입의 Request Body와 Response Body를 생각하면 된다. data class ServerResponse( val name: String = "", val age: Int = 0, val phoneNumber: String = "", ) # DAO - Data Access Object의 약자로 데이터베이스의 data에 접근하기 위한 객체이다.. 2023. 3. 30.
코틀린의 오브젝트란? (object, companion object) 개발을 하다 보면 싱글톤 패턴을 구현하기 위해 object를 사용하기도 한다. 평소에 잘 모르고 지나갔지만 이번에는 object에 관해 알아보겠다. # object object로 클래스를 정의하면 클래스 선언과 동시에 객체가 생성됨으로써 싱글톤 패턴이 적용되어 객체가 한 번만 생성이 된다. # object class 특징 1. object class 는 클래스 객체 생성 없이 즉시, 접근 가능한 클래스이다. 2. object class 는 생성자를 갖지 않는다. 3. object class 는 어느 클래스, 함수에서든 별도의 객체화 과정 없이 접근 가능하다. 4. object class 는 프로그램이 실행되는 동안 저장된 데이터는 손실되지 않는다. 5. object class 는 코틀린에 static이 .. 2022. 2. 17.
프래그먼트(Fragment) with Kotlin 알아보기! # 프래그먼트(Fragment) 안드로이드 공식 문서에 보면 프래그먼트를 아래와 같이 설명하고 있다. Fragment는 FragmentActivity 내의 어떤 동작 또는 사용자 인터페이스의 일부를 나타냅니다. 여러 개의 프래그먼트를 하나의 액티비티에 결합하여 창이 여러 개인 UI를 빌드할 수 있으며, 하나의 프래그먼트를 여러 액티비티에서 재사용할 수 있습니다. 프래그먼트는 액티비티의 모듈식 섹션이라고 생각하면 됩니다. 정리하자면 프래그먼트를 사용하면 재사용할 수 있는 레이아웃을 분리해서 관리할 수 있고, 액티비티의 복잡도도 줄여주며, 크기가 고정이라 하더라도 부분적인 UI 변화에서 유용하게 사용된다. 특히, 액티비티 하나만 만들고 나머지는 프래그먼트로 처리하여 단일 액티비티로 개발할 때도 있다. # 프.. 2022. 2. 10.
코틀린의 접근 제한자(Kotlin's Visibility Modifier) # 접근 제한자 종류 1. private 2. public 3. protected 4. internal kotlin의 접근 제한자의 종류로는 public, private, protected 그리고 internal 이 있다. # Java와 비교 java 와 kotlin의 접근 제한자를 비교해 보면 종류의 가지수는 같지만, default 가 없어지고 internal 이 새로 생겼다는 것을 알 수 있다. 또한 Java에서는 접근 제한자를 아무것도 붙이지 않으면 default(package-private) 였다. 그러나 코틀린에서는 아무것도 붙이지 않으면 public 이다. ▶ private : 해당 파일 또는 클래스 내에서만 접근 가능 ▶ public : 어디에서나 접근 가능, 코틀린의 기본 접근 제한자 ▶ .. 2022. 2. 6.
코틀린의 문법 (let, with, run, apply, also) let, with, run, apply, also 코틀린에는 이렇게 생긴 확장 함수들이 있다. 기능은 객체를 사용할 때 명령문들을 블럭{}으로 묶어서 간결하게 사용할 수 있게 해 주고 스코프 함수(Scope Functions)이다 # let 매개 변수화 된 타입 T의 확장 함수로, 자기 자신을 받아서 반환하는 람다 식의 형태이다. let 함수를 호출하는 객체를 블록의 인자로 넘기고, 블록의 결괏값을 반환한다. fun T.let(block: (T) -> R): R - let 함수 사용하기 전 코드 data class Student (var name : String, var age : Int) val student = Student("",0) student.name = "Yeom" student.age = .. 2022. 1. 2.