반응형

언어/Kotlin 12

[Kotlin] 코틀린 enum 클래스

enum class여러개의 상수들을 열거해놓은 클래스값에 대한 명확한 제약이 있는 경우 사용 (선택할 값이 몇가지로 정해져 있는 경우)enum class Direction { NORTH, SOUTH, EAST, WEST}val dir = Direction.NORTHwhen (dir) { Direction.NORTH -> println("북쪽으로 이동") Direction.SOUTH -> println("남쪽으로 이동") Direction.EAST -> println("동쪽으로 이동") Direction.WEST -> println("서쪽으로 이동")}위와 같이 when과 잘 맞으며 이때는 else를 사용하지 않음 기본적으로 enum class 각각의 인스턴스는 name과 o..

언어/Kotlin 2025.05.11

[Kotlin] 코틀린 범위 지정 함수 let, apply, also, run, with

범위 지정 함수 (Scope Functions)객체를 특정 범위인 scope안에서 그 객체에 대한 작업을 수행하게 해주는 함수해당 객체를 수신객체로 표현let, apply, also, run, with 다섯 종류가 있음각각의 함수에 따라 용도가 다르며, 주로 편의성을 위해 사용 수신 객체를 this로 접근수신객체를 it으로 접근수신객체를 returnapplyalsoscope의 마지막 줄을 returnrun, withlet 1. letval email: String? = user.emailemail?.let { // null이 아닐 때만 아래 블록 실행 sendEmail(it) // it == email}위와 같이 사용하며 주로 null-safe..

언어/Kotlin 2025.05.11

[Kotlin] 코틀린 데이터 클래스 componentN

데이터 클래스값을 저장하는 용도로 쓰이는 클래스data class User(val name: String, val age: Int)메서드를 가질 수 있지만 위와 같이 작성해도 상관없음 데이터 클래스에 자동 생성되는 함수들(equals, toString 등등)중에 componentN()이 존재 componentN()데이터 클래스의 각 프로퍼티를 변수 여러개로 분해함따라서 아래와 같은 코드가 가능data class User(val name: String, val age: Int)val user = User("Alice", 30)// 분해 선언val (n, a) = user// val n = user.component1()// val a = user.component2()println(n) // Alicepr..

언어/Kotlin 2025.05.10

[Kotlin] 코틀린 가변인자 vararg 사용법

varage (variable number of arguments)함수에 가변 개수의 인자를 전달할 때 사용같은 타입인 여러개의 인자를 한번에 다룰 수 있음 fun printAll(vararg messages: String) { for (msg in messages) { println(msg) }}printAll("hi","hello","world") 함수 하나당 varage하나만 사용가능매개변수가 여러개일 경우, varage를 맨 마지막에 작성 배열과의 차이점함수 내에서는 동일하게 처리하지만호출할때 배열로 안 만들고 바로 값만 넘김 아래와 같이 스프레드 연산자인 *를 사용하여 배열을 가변인자로 넘길 수 있음fun logMessages(tag: String, vararg messa..

언어/Kotlin 2025.05.10

[Kotlin] 코틀린 람다 표현식 (후행 람다)

람다 표현식이름이 없는 익명함수를 표현하는 방식변수에 저장하거나 인자로 전달하기에 편리함val sum = { a: Int, b: Int -> a + b }println(sum(3, 5)) // 출력: 8 이벤트 처리, filter나 forEach같은 함수들에 주로 사용됨 람다에 매개변수가 하나라면 ->를 생략하고 매개변수를 it으로 접근할 수 있음val numbers = listOf(1, 2, 3)val squared = numbers.map { it * it } // [1, 4, 9] 후행 람다함수의 마지막 인자가 람다 함수인 경우 괄호 밖으로 뺼 수 있음fun greet(name: String, callback: () -> Unit) { println("Hello, $name!") c..

언어/Kotlin 2025.04.30

[Kotlin] 코틀린 JecPack Compose Surface

SurfaceComposable의 컨테이너다른 컨테이너 (Row, Box 등)과 다르게 배치 방법이 아닌 디자인 효과를 나타낼 수 있음 Surface 매개변수1. modifier: Modifier [Kotlin] 코틀린 JetPack Compose ModifierModifierJetpack Compose에서 사용하는 메서드Text, Box같은 Compose 기본 컴포저블 함수에 기본적으로 modifier 파라미터를 가지고 있음UI 요소를 다루기 위한 도구로 XML보다 편리하게 사용 가능 Text( text = "Clmyhappycoding.tistory.com 2. shape: Shape컨테이너의 모양 정의CircleShape : 원형 RectangleShape : 사각형RoundedCornerShap..

언어/Kotlin 2025.04.29

[Kotlin] 코틀린 JetPack Compose - Box

[Kotlin] 코틀린 JetPack Compose - Column[Kotlin] 코틀린 Compose - RowText와 같은 UI요소들을 그냥 적용하면 요소들끼리 겹치고, 배치를 맞추기 힘듦Row, Column, Box 등으로 레이아웃을 지정할 수 있음UI요소들을 레이아웃 안에 넣어 사용@Composablmyhappycoding.tistory.com Box여러 UI요소들을 겹쳐서 놓을 수 있는 레이아웃아래 버튼을 만들거나 할때 유용요소가 겹칠때 기본적으로 Box안에서 아래로 있을수록 화면 위로 올라옴 Box의 매개변수1. modifier: Modifier = Modifier [Kotlin] 코틀린 JetPack Compose ModifierModifierJetpack Compose에서 사용하는 메서드..

언어/Kotlin 2025.04.24

[Kotlin] 코틀린 JetPack Compose - Column

[Kotlin] 코틀린 Compose - RowText와 같은 UI요소들을 그냥 적용하면 요소들끼리 겹치고, 배치를 맞추기 힘듦Row, Column, Box 등으로 레이아웃을 지정할 수 있음UI요소들을 레이아웃 안에 넣어 사용@Composablefun TestView(){ Column() { textmyhappycoding.tistory.com Column화면에 UI요소들을 수직으로 배치하기 위한 레이아웃Row와 마찬가지로 4개의 매개변수를 가지고, 각각 기본값이 있음 1. modifier: Modifier = Modifier [Kotlin] 코틀린 Compose ModifierModifierJetpack Compose에서 사용하는 메서드Text, Box같은 Compose 기본 컴포저블 함수에 기본적으로..

언어/Kotlin 2025.04.23

[Kotlin] 코틀린 JetPack Compose - Row

Text와 같은 UI요소들을 그냥 적용하면 요소들끼리 겹치고, 배치를 맞추기 힘듦Row, Column, Box 등으로 레이아웃을 지정할 수 있음UI요소들을 레이아웃 안에 넣어 사용@Composablefun TestView(){ Column() { text1() text2() }} Row화면에 수평으로 배치하기 위한 레이아웃4개의 매개변수를 가짐 (각각 기본값이 존재) 1. modifier : Modifier = Modifier [Kotlin] 코틀린 Compose ModifierModifierJetpack Compose에서 사용하는 메서드Text, Box같은 Compose 기본 컴포저블 함수에 기본적으로 modifier 파라미터를 가지고 있음UI 요소를 다루기 위한 도..

언어/Kotlin 2025.04.23

[Kotlin] 코틀린 JetPack Compose Modifier

ModifierJetpack Compose에서 사용하는 메서드Text, Box같은 Compose 기본 컴포저블 함수에 기본적으로 modifier 파라미터를 가지고 있음UI 요소를 다루기 위한 도구로 XML보다 편리하게 사용 가능 Text( text = "Click me!", modifier = Modifier .padding(16.dp) // 16dp만큼 패딩을 줌 .background(Color.Yellow) // 배경을 노란색으로 .clickable { println("Clicked!") } // 클릭이벤트 설정) 위와 같이 Text함수의 modifier 파라미터에 전달하면 됨.을 여러번 사용하여 여러 속성을 한번에 다루는 체이닝 방식을 사용 기본적으..

언어/Kotlin 2025.04.22
반응형