일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- r
- builderPattern
- a
- 코틀린
- 빌터패턴
- 디자인패턴
- 옵저버 패턴
- Abstract Factory
- Functional Programming
- PrototypePattern
- ㅓ
- El
- Singleton
- 추상 팩토리
- 추상팩토리패턴
- 팩토리 메소드
- designPattern
- 함수형프로그래밍
- factory method
- F
- ㅋㅁ
- 프로토타입 패턴
- 싱글톤
- Kotlin
- Observer Pattern
- Design Pattern
- 디자인패턴 #
- Today
- Total
목록분류 전체보기 (327)
오늘도 더 나은 코드를 작성하였습니까?
코틀린은 원시 타입과 래퍼 타입을 구분하지 않는다 원시 타입은 변수에 할당한 그 값이 직접 메모리에 들어간다. 참조 타입은 그 객체에 대한 주소 값이 메모리에 들어간다. 자바의 경우 참조 타입이 필요한 경우 원시 타입을 래퍼 클래스로 감싸서 사용한다. 예를 들면 Collection 가 아닌 Collection 처럼 말이다. 하지만 코틀린은 그렇지 않다 래퍼타입과 원시 타입을 구분하지 않으면 편리하다. 또한 원시타입에 대한 메서드 호출이 가능하다. *coerceIn은 값을 특정 범위로 한정한다. fun showProgress(progress: Int){ val percent = progress.coerceIn(0,100) println("$percent done! ") } fun main() { showP..
코틀린을 비롯한 최신 언어에서는 null에 대한 접근방법은 가능한 이문제를 runtTime 시점이 아닌 compile 시점으로 옮기는 것이다. null 이 될 수 있는지 여부를 타입 시스템에 추가함으로써 컴파일러가 여러 가지 오류를 컴파일 시 미리 감지해서 실행 시점에 발생하는 예외를 줄이는 것이다. Null 이 될 수 있는 타입 - 코틀린은 null 이 될 수 있는 타입을 명시적 지원한다 - TYPE? = TYPE or null - null이 될 가능성이 있는 타입의 변수는 메서드의 직접 호출을 할 수 없다. - null이 될 가능성이 있는 타입의 변수를 null 이 될 수 없는 타입의 변수에 대입할 수 없다. - null이 될 가능성이 있는 타입을 null 될 수 없는 타입을 파라미터로 받는 함수에 ..
실제로 다뤄야 되는 API 중에 상당수는 자바로 작성되어 있다. 하지만 코틀린의 람다를 이용하면 아무런 문제 없이 자바 API를 사용할 수 있다. 예) 자바에서 버튼에 리스너 객체를 전달하기 위해 무명 클래스의 인스턴스를 생성해서 넘겨준다. button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { } }); button.setOnClickListener = { view -> } 이런 코드가 작성 가능한 이유는 OnClickListener 인터페이스가 단 하나의 추상 메서드를 가지고 있기 때문이다. 이런 인터페이스를 SAM(Single Abstract Method) 인터페이스라고 부른다. ..
* AndoridViewModel vs ViewModel AndroidViewModel 클래스는 ViewModel의 하위 클래스이다. 유사하며 UI 관련 데이터를 저장하고 관리하도록 설계되어 데이터를 준비하고 제공해야 합니다. UI의 경우에도 구성 변경 시에도 데이터가 자동으로 유지된다. AndroidViewModel과의 유일한 차이점은 응용 프로그램 콘텍스트와 함께 제공되므로 시스템 서비스를 받기 위해 콘텍스트가 필요하거나 비슷한 요구 사항이 있는 경우 유용하다. context에 대한 작업이 필요한것이 아니면 일반적인 ViewModel클래스를 상속받아서 이용할 것을 권장하고 있다. 아키텍처 구성요소는 UI의 데이터 준비를 담당하는 UI 컨트롤러에 ViewModel 도우미 클래스를 제공한다. ViewMo..