일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Widget Tree
- 자료구조
- 에러
- Singleton
- Render object tree
- 싱글톤
- dfs
- 자바
- Java
- 초기화
- Kotlin
- 앱아이콘 변경
- zwj
- IOS
- 프리즈드
- flutter
- Android
- 비동기 처리
- 완전탐색
- 플러터
- Lazy
- 재귀
- element tree
- 코틀린
- 거리알고리즘
- 프로그래머스
- linebreak
- 플러터 동작
- 알고리즘
- dart
- Today
- Total
목록초기화 (3)
모바일 개발하는 자바리안의 메모장
Flutter에서 non-nullable 객체의 경우 선언과 동시에 값을 초기화해줘야 한다. 처음 flutter를 접하고 instance 변수들을 선언할 때 아래와 같은 에러를 많이 접할 수 있었다 : 그렇다면 나중에 초기화가 필요한 객체의 경우 어떻게 선언을 해줄까? 물론 nullable로 타입을 바꿔주면 문제를 쉽게 해결할 수 있다. 하지만 만약 해당 객체가 절대 null이 될 수 없는, 특정 시점에 무조건 초기화가 될 객체라면? 절대 null이 되지 않는 객체임에도 불구하고, 오랜 시간이 지난 후에 다시 보거나 다른 개발자가 봤을 때 nullable한 객체로 간주하게 될 우려가 있다.. 또한, 공식 문서에 정리된 내용을 보면 control flow analysis가 인스턴스 변수, top-level..
Kotlin은 변수 초기화 지연을 도와주는 위한 유용한 기능이 존재하는데, 나에게 매우 잘 어울리는 키워드인 lazy 키워드다. lazy초기화의 경우 read-only 변수, 즉 val 변수에만 사용할 수 있다. 우선 예제 코드를 보자 : class JavarianActivity : AppCompatActivity(){ val sampleTextView: TextView by lazy { // Lazy init. findViewById(R.id.tv_1) as TextView } fun updateTextView() { sampleTextView.text = "Hi" } } 앞서 설명한 바와 같이, 코틀린에서의 모든 변수(property)는 초기화를 필수로한다. 일반적인 초기화라면 sampleTextVi..
딱 처음 Kotlin을 접하고 볼 수 있었던 자바와는 살짝 다른 변수 선언과 초기화,, 차이점 2가지는 다음과 같다 : 첫번째, 변수의 타입을 변수명 뒤에 명시해준다. Java) String str = "text"; Kotlin) var str : String = "text" Kotlin의 경우 변수명 : 데이터타입 형태로 변수를 선언한다. 타입이 굳이 명시하지 않아도 똑똑한 코틀린 컴파일러가 알아서 해결해준다. 보다 쉬운 이해를 위해 아래 코드를 보자 : fun main() { val str = "I am a string" checkDataType(str) } fun checkDataType(input : Any) { when(input) { is String -> print("Type is Strin..