일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 추상팩토리패턴
- 팩토리 메소드
- Abstract Factory
- Design Pattern
- F
- 빌터패턴
- designPattern
- a
- El
- Kotlin
- 싱글톤
- 함수형프로그래밍
- 옵저버 패턴
- 디자인패턴
- Singleton
- builderPattern
- 프로토타입 패턴
- PrototypePattern
- factory method
- 코틀린
- r
- ㅓ
- Functional Programming
- ㅋㅁ
- 추상 팩토리
- 디자인패턴 #
- Observer Pattern
- Today
- Total
목록Kotlin in Action/코틀린 기초 (15)
오늘도 더 나은 코드를 작성하였습니까?
람다 - 다른 함수에 넘길 수 있는 작은 코드 조각 - 공통된 코드 구조를 쉽게 함수로 뽑아낼 수 있다. 이벤트가 발생 하면 이 핸들러를 실행하자! 데이터 구조의 모든 원소에 이연산을 적용하자! 생각을 코드로 표현하기 위해 일련의 동작을 변수에 저장하거나 다른 함수에 넘겨야 하는 경우가 종종 있다. 기존에 자바는 무명 클래스로 이것을 해결하였지만 상당히 번거롭다. 함수형 프로그래밍은 함수를 값처럼 다루는 접근방법을 택하여 문제를 해결한다. 클래스를 선언하고 그 인스턴스를 함수에 넘겨 처리하는 대신에 함수를 직접 다른 함수에 전달한다. 예시) 사람들로 이루어진 리스트에서 연장자 찾기 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..
코틀린은 주(primary) 생성자와 부(secondary) 생성자를 구분한다. 초기화 블록을 통해 초기화 로직을 추가할 수 있다. 클래스 초기화: 주 생성자와 초기화 블록 class User( 주 생성자 ){ ... } 주 생성자는 파라미터를 지정하고 그 생성자 파라미터에 의해 초기화되는 프로퍼티를 정의하는 2가지 목적을 가지고 있다. class User constructor(_nickname: String){ val nickname: String init { nickname = _nickname } } * _nickname은 자바처럼 this.nickname = nickname ; 과같은 파라미터와 멤버 변수의 이름이 동일할 때 모호성을 없애기 위해 사용된다.(this를 사용해도 된다.) contst..