일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 해시
- H-index
- 모던 자바 인 액션
- kubenetes
- K번째수
- 다리를 지나는 트럭
- @Getter
- 코딩 테스트
- 롬복 어노테이션
- 크론 표현식
- 기능개발
- 고차원 함수
- 정렬
- Java
- 스택/큐
- @configuration
- 영속 자료구조
- 쿠버네티스
- @Data
- 커링
- 가장 큰 수
- 스프링 스케쥴러
- 루씬 인 액션
- 검색 기능 확장
- 알고리즘
- 완주하지 못한 선수
- @Setter
- @EnableScheduling
- 프로그래머스
- 전화번호 목록
- Today
- Total
목록Kotlin (14)
Today I Learned
함수형 스타일 함수형 스타일이 뭐야? var doubleOfEven = mutableListOf() for (i in 1..10) { if (i % 2 == 0) { doubleOfEven.add(i*2) } } 명령형 프로그래밍에서는 1부터 10 까지의 숫자 중에 짝수의 2배의 값을 계산하기 위해, 먼저 비어있는 뮤터블 리스트를 만든다. 그리고 1~10 까지 값을 가지고 있는 콜렉션에서 짝수 값을 골라내고, 뮤터블 리스트에 짝수를 2배로 만들어서 추가한다. val doubleOfEven = (1..10) .filter {e -> e % 2 == 0} .map {e -> e * 2} 함수형 프로그래밍에서는 IntRange 클래스의 filter(), map() 같은 고차함수를 사용할 수 있다. 뮤터블 리스..
변수와 속성 델리게이션 변수 델리게이션 package com.agiledeveloper.delegates import kotlin.reflect.KProperty class PoliteString(var content : String) { operator fun getValue(thisRef: Any?, property: KProperty) = content.replace("stupid", "s****") operator fun setValue(thisRef: Any, property: KProperty, value: String) { content = value } } import com.agiledeveloper.delegates.PoliteString var commnet: String by Pol..
상속 대신 델리게이션을 써야 하는 상황 클래스의 객체가 다른 클래스의 객체가 들어갈 자리에 쓰여야 한다면 상속을 사용해라 클래스의 객체가 단순히 다른 클래스의 객체를 사용만 해야 한다면 델리게이션을 사용해라 델리게이션을 사용한 디자인 디자인적 문제점 interface Worker { fun work() fun takeVacation() } class JavaProgrammer : Worker { override fun work() = println("...write java...") override fun takeVation() = println("...code at the beach...") } class CSharpProgrammer : Worker { override fun work() = prin..
인터페이스와 추상 클래스 생성 인터페이스 만들기 코틀린의 인터페이스는 추상 메소드를 작성하는 명세에 의한 설계를 할 수 있고, default 키워드 없이 인터페이스 안에 메소드를 구현할 수 있다. 또한 인터페이스 안에 컴패니언 객체를 작성하여 static 메소드를 가질 수 있다. interface Remote { fun up() fun down() fun doubleUp() { up() up() } } class TV { var volume = 0 } class TVRemote(val tv: TV): Remote { override fun up() { tv.volume++ } override fun down() { tv.volume-- } } TVRemote가 Remote 인터페이스를 구현한다는 것을 명..