Kotlin

· Kotlin
서론오늘 코딩 테스트 연습을 하던 중 반복문이 아닌 정규식을 사용할 때 효율이 더 좋은 경우가 있어서 정규 표현식에 대해 정리해보려고 한다. 정규 표현식정규 표현식 또는 정규식은 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어이다.정규 표현식(Regular Expression, 줄여서 Regex)은 문자열에서 특정 패턴을 찾거나, 추출하거나, 교체하는 데 사용되는 강력한 도구이다.kotlin에서는 정규 표현식을 쉽게 다룰 수 있는 다양한 기능을 제공한다.  정규 표현식 문법^ : 문자열의 시작을 의미$ : 문자열의 끝을 의미. : 문자 한 개를 의미. '.'이 위치한 곳에 어떤 문자든지 1개의 문자가 들어감[ ] : 대괄호에 있는 문자 중 한 개를 의미. [abc]는 a, b, c ..
· Kotlin
서론코딩 테스트에서 자주 활용되는 filter() 함수에 대해 정리해보려고 한다. 코테 문제 풀이 시 자주 사용되는 함수이니 알아두면 도움이 될 거라고 생각한다. filter() 함수?filter() 함수는 컬렉션(배열, 리스트) 등에서 조건을 만족하는 모든 요소들을 필터링하여 새로운 컬렉션을 반환하는 함수이다. 이 함수는 람다식을 인자로 받아 각 요소를 평가하고, 조건을 만족하는 요소들만을 포함하는 새로운 컬렉션을 생성한다. 보통, 주어진 조건을 만족하는 요소를 선택적으로 추출할 때 자주 사용된다. 예를 들면, 특정 조건을 만족하는 숫자, 문자열 또는 사용자 정의 객체를 선택하고자 할 때 사용할 수 있다. 특징사용 방법 : filter() 함수는 컬렉션에 대해 호출되며, 람다식을 인자로 받는다. 이 람..
· Kotlin
서론 Android viewmodel을 활용하여 개발을 하던 중 LiveData를 잘 사용하고 있었다. 다른 개발자들의 코드를 보니 LiveData뿐만 아니라 Flow를 활용하는 경우도 많았다. 아직 Flow가 익숙하지 않아서 한번 간단하게 정리해보려 한다. Flow란? Coroutine의 Flow는 데이터 스트림이며, 코루틴 상에서 리액티브 프로그래밍을 지원하기 위한 구성요소이다. 더보기 - 리액티브 프로그래밍이란 데이터가 변경될 때 이벤트를 발생시켜서 데이터를 계속해서 전달하도록 하는 프로그래밍 방식을 뜻함 https://ystech.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%ED%8C%A8%EB%9F%AC%EB%8B%A4%EC..
· Kotlin
서론 Kotlin에는 다양한 Scope function이 있다. 객체를 사용할 때 명령문을 블럭{}으로 묶어서 간결하게 사용할 수 있게 해 주는 함수들이다. 오늘은 Scope function인 let, with, run, apply, also에 대해 정리해보려 한다. Scope function? Kotlin 표준 라이브러리에는 객체 내부에서 코드를 실행할 수 있는 여러 함수가 제공된다. 그들 중 일부는 람다 표현식이 제공되고, 임시 스코프가 형성된다. 이 스코프에서는 객체의 이름을 사용하지 않고 객체에 접근이 가능하다. it, this 등을 활영하여 객체에 접근할 수 있도록 해주는? 함수가 Scope function이다. Scope function은 새로운 기술적 기능을 도입하지 않지만 코드를 더 간결하..
· Kotlin
서론 변수를 정의할 때 자주 쓰이는 lateinit와 lazy는 모두 늦은 초기화 기법이다. 오늘은 이 둘의 차이점에 대해 정리해보려 한다. 늦은 초기화란? 늦은 초기화란, 말 그대로 객체를 늦게 초기화하는 것을 말한다. String java; //java 선언 var kotlin: String // kotlin 선언 java가 익숙한 사람에게 위 코드는 별 문제가 없어 보이지만, 초기화 없이 선언하면 변수에 기본으로 값이 들어갔던 java와는 다르게 Kotlin에서는 초기화가 필수이기 때문에 위 선언 코드에서 에러가 발생한다. var kotlin: String? = null 따라서 nullable 타입으로 만들고 null로 초기화하면 코드는 정상적으로 동작할 것이다. 하지만, null 사용을 주의하자는..
· Kotlin
Array Array는 메모리의 연속적인 공간을 차지하고 있는 정적인 자료구조로 생성 시 크기를 지정해야 하고, 생성한 이후에는 크기의 조절이 불가능하다는 특징을 가진다. 특징 Array는 Random Access가 가능해 검색 속도가 빠르다. Array 생성 후에는 크기 조절이 불가능하다. Array에 값을 추가하려면 새로운 Array를 만들어 추가하려는 값과 함께 이전 Array의 값들을 복사 붙여 넣기 해야 한다. 즉, 이미 생성된 Array를 사용하는 것이 아닌 새로운 Array를 만들어야 한다는 것이다. Array 생성 arrayOf : 값을 직접 입력하여 배열을 생성하는 방식. Array의 크기가 입력된 값에 따라 정해진다. val arr : Array = arrayOf(1,2,3) // {1..
· Kotlin
코틀린을 공부하다 보니 클래스와 함수 부분에서 자바와의 차이점이 생각보다 많았다. 헷갈리지 않게 정리해보려고 한다. 1. 클래스(Class) / 프로퍼티(Property) public class Animal( private String name; //setter public void setName(String name) { this.name = name; } //getter public String getName() { return name; } ) 흔히 자바에서 사용하던 코드이다. 자바에서는 클래스와 함께 getter/setter를 사용할 경우 변수가 많아질수록 코드가 길어지고 복잡해질 수 있다. 하지만, 코틀린에서는 간단하게 표현이 가능하다. class Animal(val name: String) 자..
· Kotlin
Kotlin의 연산자 기본적인 산술 연산자(+,-,*,/,%), 복합 대입 연산자(+=, -=, *=, /=, %=), 증감 연산자(++,--), 논리 연산자(&&,||,!), 비교 연산자(, =)는 자바와 똑같기 때문에 설명을 생략한다. - 전개 연산자 전개 연산자는 배열 데이터를 단순 나열할 때 사용한다. 곱하기 기호인 * 를 사용하고, 배열 앞에 붙이면 배열 값을 나열할 때 사용한다. 예를 들면, array[0], array [1], array [2] 이런 식으로 작성해야 하는 것을 *array로 작성하여 간단하게 배열 값을 나열할 수 있다. 마지막으로, 전개 연산자는 List의 데이터에 바로 이용할 수 없다. 사용하려면 리스트를 배열로 변환시킨 뒤 사용해야 한다. - 일치 연산자 일치 연산자도 자..
· Kotlin
1. 변수 - 자바와 다르게 코틀린에서는 타입 지정을 생략하는 경우도 많다. - 변수는 변경이 가능한 변수, 변경이 불가능한 변수로 나뉜다. val -> 변경 불가능한 변수(Value) var -> 변경이 가능한 변수(Variable) - 만약, 초기화 식을 사용하지 않고 변수를 선언하려면 변수 타입을 반드시 명시해야 한다. 2. Nullable - 코틀린은 null이 될 수 있는 변수와 될 수 없는 변수를 구분해서 변수로 선언하기 때문에 null로부터 안전성을 갖는다. - 코틀린에서는 null 값을 대입하려면 명시적으로 null이 될 수 있는 변수로 선언해야 한다. 변수에 null을 대입하려면 타입에 물음표(?) 기호를 이용하여 표현한다. - A?: B -> A가 null이면 B 실행 - A?. len..
· Kotlin
안녕하세요. 오늘은 요즘 새로 공부 중인 Kotlin에 대한 글을 작성해보려 합니다. Kotlin은 현재 안드로이드에서 활발하게 사용되는 언어이고, 안드로이드 외에도 웹 / 서버 개발 등 다양한 분야에서 사용한다고 합니다. 1. Kotlin 간단 소개 Kotlin(코틀린)은 크로스 플랫폼 범용 프로그래밍 언어로, 자바와 완벽하게 호환되게 설계되었으며 일반적으로 JVM에서 사용되거나 자바스크립트, LLVM 그리고 데이터 사이언스 영역에서 사용하는 언어이다. 안드로이드 프로그래밍을 하는 사람이라면 알고 있겠지만, 2019년 5월 이후로 구글이 안드로이드 앱 개발에서 코틀린을 권장하고 있다. 그래서 현재 많은 안드로이드 개발이 코틀린으로 이루어지는 추세이다. 코틀린은 위에 설명처럼 자바와 완벽하게 호환되게 설..
빡수수
'Kotlin' 카테고리의 글 목록