일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 싱글톤
- 코틀린
- Abstract Factory
- 프로토타입 패턴
- ㅋㅁ
- PrototypePattern
- 디자인패턴
- 옵저버 패턴
- 디자인패턴 #
- Functional Programming
- Kotlin
- 함수형프로그래밍
- ㅓ
- builderPattern
- designPattern
- F
- El
- 추상팩토리패턴
- r
- a
- Singleton
- 팩토리 메소드
- Observer Pattern
- 추상 팩토리
- factory method
- Design Pattern
- 빌터패턴
- Today
- Total
목록Kotlin in Action (36)
오늘도 더 나은 코드를 작성하였습니까?
- 함수형 프로그래밍 스타일을 사용하면 컬렉션을 다룰 때 매우 편리하다 - 많은 작업에 라이브러리 함수를 활용하고 코드가 간결해진다. 필수적인 함수: filter와 map 컬렉션을 활용할 때 기반이 되는 함수이며 대부분의 컬렉션 연산을 이 두 함수를 통해 표현 가능하다 filter 함수 - 컬렉션은 이터레이션 하면서 주어진 람다에 각 원소를 넘겨서 람다가 true를 반환하는 원소만 모은다. - predicate를 만족하는 새로운 컬렉션을 반환한다. - 원치 않는 원소를 제거한다 하지만 filter는 원소를 변환할 수는 없다 - 원소를 변환하려면 map함수를 사용한다. fun main() { val people = listOf(Person("kim",15), Person("hong", 18), Person..
람다 - 다른 함수에 넘길 수 있는 작은 코드 조각 - 공통된 코드 구조를 쉽게 함수로 뽑아낼 수 있다. 이벤트가 발생 하면 이 핸들러를 실행하자! 데이터 구조의 모든 원소에 이연산을 적용하자! 생각을 코드로 표현하기 위해 일련의 동작을 변수에 저장하거나 다른 함수에 넘겨야 하는 경우가 종종 있다. 기존에 자바는 무명 클래스로 이것을 해결하였지만 상당히 번거롭다. 함수형 프로그래밍은 함수를 값처럼 다루는 접근방법을 택하여 문제를 해결한다. 클래스를 선언하고 그 인스턴스를 함수에 넘겨 처리하는 대신에 함수를 직접 다른 함수에 전달한다. 예시) 사람들로 이루어진 리스트에서 연장자 찾기 data class Person(val name:String, val age: Int) fun findTheOldest(pe..
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..