본문 바로가기

Kotlin

(4)
Kotlin Delegated Properties(by lazy) 주의 이 블로그는 개인적인 생각과 이해를 정리한 곳입니다. 실제와 다를 수 있으니 글에서 참고한 글을 꼭 확인해주세요. Kotlin Delegated Properties란? Kotlin은 멤버 변수들을 property로 취급하는데 이를 대신 동작(위임)할 수 있게 하는 기능을 지원한다. by lazy가 대표적이며 getter를 위임받아서 값의 초기화를 지연시키는데 사용한다. 예제 코드 val number: Int by lazy { println("Initialize number...") 1 } fun main() { println("number=${number}") } Initialize number... number=1 Process finished with exit code 0 예제코드와 결과를 보면..
Kotlin Sealed class 주의 이 블로그는 개인적인 생각과 이해를 정리한 곳입니다. 실제와 다를 수 있으니 글에서 참고한 글을 꼭 확인해주세요. 요약 enum class와 일반 class의 중간 형태. enum 처럼 타입 형을 제한시킬 수 있으면서 class의 성격을 모두 가지고 있다. Sealed class란? Seales class는 class의 정해진 하위 클래스만 상속되도록 제한을 한다. enum과 비슷하다고 볼 수 있는데, 선언된 클래스 외에는 상속 받을 수 없기 때문에 if나 when과 같은 조건문에서 예외사항들을 최대한 줄일 수 있다. 예를 들어서 설명하면 이해에 도움이 될 것이다. Example sealed class State { object Loading : State() class Data(val list: ..
Kotlin Regex(정규식) 주의 이 블로그는 개인적인 생각과 이해를 정리한 곳입니다. 실제와 다를 수 있으니 글에서 참고한 글을 꼭 확인해주세요. Regex란? Regular expression 정규식 문자열(String)이 패턴이 성립하는지 확인이 필요하거나, 문자열 안에서 특정 패턴 또는 위치에 있는 문자열을 꺼내오기 위해서 주로 사용한다. 문자열이 이메일 형식인지, 전화번호 형식인지, 날짜 형식인지 등 일반적인 예시를 들 수 있다. Java에서는 Pattern 클래스를 생성해서 사용하고, Kotlin에서는 Regex 클래스를 생성해서 사용한다. 작성법 정규식에서 제일 중요한 내용은 결국 패턴을 잘 작성하는 것이다. 패턴을 작성할 땐 문법과 규칙이 있는데 언어별, 플랫폼별 크게 다르지 않다. 자주 사용하는 규칙들 패턴 설명 ...
Kotlin Sequences 주의 이 블로그는 개인적인 생각과 이해를 정리한 곳입니다. 실제와 다를 수 있으니 글에서 참고한 글을 꼭 확인해주세요. 요약 Sequence는 Iterable과 사용성이 같은 클래스이지만 내부 구현은 완전 다른 클래스. Iterable은 호출 순서에 따라 바로 수행되지만 Sequence는 함수 toList와 같은 마지막 함수에서 최종적으로 수행된다. 많은 데이터와 많은 연산(map, take, filter 등)을 조합할 경우 성능상의 이점이 많지만, 반대의 경우에는 비효율적이다. Sequence란? Iterable과 동일한 사용성을 가진 클래스. List, Array 등의 Iterable을 사용할 때 map, filter, distinct 등 리스트의 조합이나 변형이 필요할 때 사용하는 연산자들을 많이 ..