본문 바로가기

분류 전체보기31

[Android] App components 앱 구성요소 Android 앱의 필수 구성요소입니다. 각 구성요소는 시스템이나 사용자가 앱에 진입할 수 있는 진입점입니다. Activity(액티비티) 안드로이드 애플리케이션의 사용자 인터페이스(UI)를 담당합니다. 사용자가 상호작용하는 화면 단위를 의미(버튼, 텍스트 필드, 이미지 등 UI요소 포함) 합니다. 사용자 이벤트(예: 버튼 클릭, 화면 터치 등)에 응답하여 작업을 수행합니다. 여러 액티비티를 조합하여 앱의 전체 기능 구현합니다. Services(서비스) 여러 가지 이유로 앱을 백그라운드에서 계속 실행하기 위한 범용 진입점. UI 없이 작업을 수행합니다. 주로 네트워크 호출, 파일 다운로드, 데이터베이스 관리 등 장기 실행되는 작업을 처리하는 데 사용합니다. 다른 구성 요소와 연동하여 실행되거나 독립적으로 .. 2024. 3. 6.
[Kotlin] Data class, Sealed class Data class : 데이터를 보유하고 있는 간단한 클래스를 정의할 때 사용 Sealed class : 상태를 효율적으로 관리하고 특정 유형의 클래스 계층을 제한하여 안정성을 높이는 데 사용 Data classes(데이터 클래스) 주로 데이터를 보관하는 데 사용 equals(), hashCode(), toString(), copy() 메서드를 자동으로 생성합니다. 상속 불가 data class Person(val name: String, val age: Int) fun main() { val person1 = Person("Alice", 30) val person2 = Person("Alice", 30) println(person1 == person2) // 출력: true println(person1.. 2024. 3. 6.
[Kotlin] Scope functions(let, run, with, apply, also) Scope function(범위 지정 함수)은 객체의 컨텍스트에서 코드 블록을 실행하고 해당 객체를 참조할 수 있는 함수 let, run, with, apply, also 함수 수신 객체 반환 값 확장함수 여부 let it 람다 O run this 람다 O with this 람다 X apply this 객체 O also it 객체 O let nullable한 객체를 안전하게 처리할 때 주로 사용 객체가 null이 아닌 경우에만 코드 블록이 실행 val strNull: String? = null val str: String? = "Hello" val lengthNull = strNull?.let { //실행 안 됨 println("let() called on $it") processNonNullString.. 2024. 3. 5.
[Kotlin] object, companion object object : 단일 인스턴스를 관리하거나 특정한 동작을 수행할 때 사용 companion object : 클래스 내에서 정적으로 동작하는 메서드나 변수를 제공할 때 사용 Object 사용 사례 싱글톤 패턴을 구현할 때 사용됩니다. 클래스의 단일 인스턴스를 생성하고 해당 인스턴스를 여러 곳에서 접근할 수 있습니다. 객체 생성이 필요 없는 유틸리티 메서드를 제공할 때 사용됩니다. 이름이 있는 객체를 정의하여 특정한 동작을 수행하고자 할 때 사용됩니다. 특징 클래스 내부에 정의되며, 해당 클래스의 인스턴스가 단 하나만 존재합니다. 싱글톤으로 동작하며, 클래스의 인스턴스 생성 없이 사용됩니다. 멤버 변수와 메서드를 가질 수 있습니다. 사용 예시 object Singleton { var count: Int = .. 2024. 3. 5.