본문 바로가기

앱 개발/Kotlin_Android

(41)
as as는 자료형 변환(Casting)을 수행하는 키워드이다. 변수 또는 표현식의 타입을 변환할 수 있다. - 변수 형 변환: 서로 호환 가능한 타입일 때만 가능하며, 실행 시 안전하지 않을 경우 ClassCastException이 발생할 수 있다. val intValue: Int = 21 val doubleValue: Double = intValue as Double - 안전한 형 변환: as?를 사용할 수 있다. 변환할 수 없는 경우 null을 반환한다. val intValue: Int = 21 val doubleValue: Double? = intValue as? Double - 타입 체크와 형 변환: is 연산자를 사용하여 특정 타입인지 여부를 먼저 확인한 후에 형 변환을 할 수 있다. val val..
contains, startsWith 컬렉션 타입(List, Set, Map 등)에서 사용되는 함수로서 주어진 요소가 컬렉션에 포함되어 있는지 여부를 확인한다. val numbers = listOf(1, 2, 3, 4, 5) val containsThree = numbers.contains(3) val containsTen = numbers.contains(10) println(containsThree) // true println(containsTen) // false --------------------------------------------------------------------------------------------------------- val ages = mapOf("Alice" to 20, "Bob" to 30) va..
Elvis operator Kotlin은 null safety를 강제하고, Nullable과 Non-Nullable을 명확하게 구분하는 특징을 가지고 있다. 코드에서 발생하는 NullPointerException 등의 예외를 방지하고 안정성을 높인다. null 포인터 예외를 방지하기 위해서 변수 또는 객체의 값이 항상 null이 아님을 명시적으로 표현하도록 한다. null safety는 코드의 신뢰성을 높이고 프로그램의 예측 가능성을 향상시키는 데 도움이 된다. 엘비스 연산자(?:)는 nullability를 다루는 데 사용되는 대표적인 연산자이다. null이 아닌 경우 왼쪽 피연산자의 값을 반환하고, null인 경우 오른쪽 피연산자의 값을 반환한다. 이를 통해 간결하게 null 체크와 기본값을 설정할 수 있다...
it it 키워드는 Kotlin 람다 식에서 사용되는 특별한 식별자(identifier) 중 하나이다. 주로 단일 매개변수를 가지고 있을 때 그 매개변수를 대체하는 데에 사용된다. it은 해당 람다의 유일한 매개변수를 나타낸다. 컬렉션의 함수형 연산 등 다양하게 사용되고 코드를 더 간결하게 만들어 준다. // 리스트 필터링 val numbers = listOf(1, 2, 3, 4, 5) val evenNumbers = numbers.filter { it % 2 == 0 } // 람다 식에서의 사용 val squaredNumbers = numbers.map { it * it } // when 표현식에서의 사용 fun describeNumber(number: Int) = when (number) { 0 -> "Z..
함수형 프로그래밍 함수형 프로그래밍(Functional Programming)은 프로그램을 함수의 조합으로 작성하는 프로그래밍 패러다임으로서 함수의 순수성(Purity), 고차 함수(Higher-Order Functions), 불변성(Immutability), 함수 합성(Composition) 등을 중요시한다. Kotlin도 함수형 프로그래밍의 많은 특징을 포함하고 있다. 그리고 자바와의 상호운용성, 객체지향 프로그래밍의 특징들과 결합하여 다양한 프로그래밍 스타일을 지원하는 현대적인 언어이다. 함수형 프로그래밍의 장점을 활용하여 코드를 간결하게 작성하고, 높은 수준의 표현력을 가진 프로그램을 개발할 수 있다. 1. 불변성 (Immutability): val 키워드를 사용하여 불변 변수를 선언할 수 있다. 불변성은 부작용을..
Float / Double float과 double은 부동 소수점 숫자를 나타내는 자료형이다. 메모리에서 소수점 이하의 값을 저장하는 방식과 저장되는 비트 수에서 차이가 있다. 일반적으로 대부분의 프로그래밍 언어에서는 기본적으로 double을 사용하고, 정밀도나 범위에 요구사항이 있는 경우 등 특별한 상황에서 float을 사용한다. - 정밀도: float: 32비트, double: 64비트 double이 float에 비해 두 배의 비트 수를 사용하므로 더 높은 정밀도를 제공함 - 메모리 사용: double이 float에 비해 두 배의 메모리를 소비함 일반적으로 정밀도가 더 높은 double을 사용함 - 표현 범위: float: 대략 ±3.4 × 10^38 범위의 값 / double: 대략 ±1.7 × 10^30..
Data class - data class 클래스명(val 파라미터1: 타입, var 파라미터2: 타입) 주로 네트워크를 통해 데이터를 주고받거나, 로컬 앱의 데이터베이스에서 데이터를 다루기 위한 용도 - 접근 제한자(visibility modifier): private / internal / protected / public - 반환값과 입력값이 있는 함수 / 반환값이 없는 함수 / 입력값 없이 반환값만 있는 함수 Kotlin에서의 함수 파라미터 입력값은 immutable로서 val이 생략된 형태
function - code block (code scope): 코드 중간의 중괄호 내용 - 함수, 변수 이름은 구체적으로 작성 ex) fun generateNumbers(){} fun 함수명(name1: String, name2: Int, name3: Double) { 실행 코드 } - when~in~!in~else while / do~while
Array Collection은 동적 Array (List, Set, Map) mutable 데이터 타입을 사용 main activy와 result activity 화면을 각각 만들고 입력 데이터가 넘어오게 만들기
Class - 클래스 안의 변수: property 함수 안의 변수: 지역변수 - open 키워드를 붙여야 오버라이드할 수 있음