fun main() { val name = "Richard" println(name.lastChar()) } // 확장함수 fun String.lastChar(): Char = this[this.length - 1] // 아래와 동일 // fun String.lastChar(): Char = this.get(this.length - 1) // fun String.lastChar(): Char = get(length - 1) 수신 객체 타입(receiver type) : String.lastChar()의 String 수신 객체(receiver object) : this fun main() { val listString = listOf("A", "B", "C") val listNumber = listOf(1..
Android Navigation DeepLink : 앱 내의 특정 페이지로 이동한다. 1. 명시적 딥링크 (explicit deeplink) 사용자가 명시적 딥 링크를 통해 앱을 열면 백 스택이 삭제됨 2. 암시적 딥링크 (implicit deeplink) 앱의 특정 대상을 나타내는 URI 입니다. 암시적 딥링크를 트리거 할 때 Intent가 Intent.FLAG_ACTIVITY_NEW_TASK 플래그와 함께 실행되었는지 여부에 따라 다르다. 플래그가 설정됐으면 백스택이 삭제된다. 플래그가 설정돼있지 않으면 뒤로가기 버튼 눌렀을 때 이전 앱으로 돌아간다.
객체지향 설계 5원칙 1. SRP (Single Responsibility Principle) : 단일 책임의 원칙 - 소프트웨어의 설계 부품(클래스, 함수 등)은 단 하나의 책임만을 가져야 함 - 응집도는 높게 결합도는 낮게 설계해야 한다 - 한 객체에 책임(기능)이 많아질수록 내부 함수끼리 강한 결합을 발생할 가능성이 높아짐 - 시스템에 수정이 생기면 수정과 관련 없는 기능에 영향을 미칠 수 있고 모두 테스트해야 하는 일이 발생 - 위와 같은 문제점에서 벗어나면 소스의 재사용 및 가독성이 좋아짐 2. OCP (Open-Closed Principle) : 개방-폐쇄 원칙 - 확장에 대해 개방되어 있고, 수정에 대해 폐쇄되어 있는 원칙 - 변경되는 소스를 파악하고, 수정 시 영향받지 않게 해야 함 - 이..
String vs StringBuffer vs StringBuilder String - 문자열 삽입, 삭제, 수정이 많지 않을 때 사용하기 적합 - 불변(immutable) 객체 - 문자열이 수정될 때마다 새로운 객체가 Heap에 생성됨 - 불변성을 가지므로 멀티 스레드 환경에서 안전 (Thread-Safe) StringBuffer - 가변(mutable) 객체 - 문자열 삽입, 삭제, 수정이 빈번하게 발생 시 사용하기 적합 - synchronized 키워드를 사용하여 멀티 스레드 환경에서 안전 (Thread-Safe) StringBuilder - 가변(mutable) 객체 - 문자열 삽입, 삭제, 수정이 빈번하게 발생 시 사용하기 적합 - 동기화를 지원하지 않음 - 단일 스레드의 성능이 StringBu..
String vs StringBuffer vs StringBuilder String - 문자열 삽입, 삭제, 수정이 많지 않을 때 사용하기 적합 - 불변(immutable) 객체 - 문자열이 수정될 때마다 새로운 객체가 Heap에 생성됨 - 불변성을 가지므로 멀티 스레드 환경에서 안전 (Thread-Safe) StringBuffer - 가변(mutable) 객체 - 문자열 삽입, 삭제, 수정이 빈번하게 발생 시 사용하기 적합 - synchronized 키워드를 사용하여 멀티 스레드 환경에서 안전 (Thread-Safe) StringBuilder - 가변(mutable) 객체 - 문자열 삽입, 삭제, 수정이 빈번하게 발생 시 사용하기 적합 - 동기화를 지원하지 않음 - 단일 스레드의 성능이 StringBu..
- Total
- Today
- Yesterday
- Livedata
- James Kim
- fragment
- ArrayList
- Intent
- 혀가 길지 않은 개발자
- View
- recyclerview
- 안드로이드 #코틀린 #Android #Kotlin
- 안드로이드
- handler
- TabLayout
- coroutine
- Design Pattern
- 자바
- XML
- Vue.js #Vue.js + javascript
- CoordinatorLayout
- JSONArray
- Android
- MVVM
- 코틀린
- Architecture Pattern
- ViewPager2
- JSONObject
- java
- activity
- Kotlin
- ViewModel
- DataBinding
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |