일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- factory method
- 디자인패턴 #
- 옵저버 패턴
- ㅋㅁ
- El
- a
- designPattern
- Functional Programming
- 디자인패턴
- F
- 추상 팩토리
- 코틀린
- 빌터패턴
- 추상팩토리패턴
- Singleton
- Observer Pattern
- r
- Design Pattern
- 싱글톤
- Abstract Factory
- ㅓ
- 팩토리 메소드
- 함수형프로그래밍
- 프로토타입 패턴
- Kotlin
- builderPattern
- PrototypePattern
- Today
- Total
목록분류 전체보기 (327)
오늘도 더 나은 코드를 작성하였습니까?
LiveData 개요 LiveData는 관찰 가능한(Observable) 한 데이터 홀더 클래스이다. LiveData는 LifeCycle을 인식한다. 즉, activity, fragment service 등 안드로이드 구성요소의 생명주기를 인식. LiveData는 활성 수명 주기 상태에 있는 앱 구성요소 관찰자(Observer)만 데이터를 업데이트합니다. LiveData는 Observer 패턴을 따른다. 데이터의 변경이 일어났을 때 콜백으로 받아 처리할 수 있습니다. 이렇게 데이터의 변경이 될 때마다 콜백을 실행하는데 활성화 상태가 아닌 경우 Lifecycle을 알기 때문에 필요하지 않을 땐 콜백이 실행 안된다. LifecycleOwner 인터페이스를 구현하는 객체(Activity, fragment)를 ..
Object 키워드 : 클래스 선언과 인스턴스 생성 코틀린에서 object 키워드는 다양한 상황에서 사용하지만 모든 경우 클래스를 정의하면서 동시에 객체를 생성한다는 공통점이 있다. 1. 객체 선언은 싱글턴을 정의하는 방법 중 하나다. 2. 동반 객체(companion object)는 인스턴스 메서드는 아니지만 어떤 클래스와 관련 있는 메서드와 팩토리 메서드를 담을 때 쓰인다. 동반 객체 메서드에 접근할 때는 동반 객체가 포함된 클래스의 이름을 사용할 수 있다. 3. 무명 내부 클래스(익명 객체) 대신 쓰인다 객체 선언 - 클래스 선언과 그 클래스의 단일 인스턴스의 선언을 합친 것이다. - 클래스를 정의하고 인턴스를 만들어 변수에 저장하는 모든 작업을 단 한 문장 obeject {... }로 줄인 것이다..
자바에서는 필수적인 eqauls, hashCode, toString 등의 메서드를 클래스 생성 시 기계적으로 구현을 해둬야 한다. 하지만 코틀린 컴파일러는 이런 메서드를 보이지 않는 곳에서 생성해준다. 따라서 필수 메서드로 인한 잡음 없는 깔끔한 소스코드를 유지하는 것이다 가능하다 모든 클래스가 정의해야 하는 메서드 - 자바와 마찬가지로 코틀린 역시 eqauls, hashCode, toString 등을 오버라이드 할 수 있다. class Client(val name: String, val postCode: Int) 문자열 표현 : toString() - 객체(Instance)의 정보를 표현하는 메서드 - 기본적으로 주소 값을 보여주지만 오버라이드로 유용한 표현으로 바꿔주는 게 좋다. class Clien..
코틀린은 주(primary) 생성자와 부(secondary) 생성자를 구분한다. 초기화 블록을 통해 초기화 로직을 추가할 수 있다. 클래스 초기화: 주 생성자와 초기화 블록 class User( 주 생성자 ){ ... } 주 생성자는 파라미터를 지정하고 그 생성자 파라미터에 의해 초기화되는 프로퍼티를 정의하는 2가지 목적을 가지고 있다. class User constructor(_nickname: String){ val nickname: String init { nickname = _nickname } } * _nickname은 자바처럼 this.nickname = nickname ; 과같은 파라미터와 멤버 변수의 이름이 동일할 때 모호성을 없애기 위해 사용된다.(this를 사용해도 된다.) contst..