codepro 때문에 포스팅을 나눠서 계속 짤라먹어야 하는게 짜증나네. delegation : https://kotlinlang.org/docs/delegation.htmlhttps://kotlinlang.org/docs/delegated-properties.html 위임(delegation) 디자인 패턴( https://en.wikipedia.org/wiki/Delegation_pattern )은 한 클래스의 멤버 구현을 직접 하지 않고, 다른 클래스의 멤버구현을 이용하는 것이다. 다시말하면, 다른 클래스에게 위임하는 것이다. 코틀린은 이를 언어 수준에서 직접적으로 지원한다. 바로 ‘by’키워드가 그것이다. 위 코드에서 Window 클래스는 ClosedShape 인터페이스의 구현을 bounds에게 위임하고 있다. 클래스 단위가 아니라…
[태그:] 코틀린
Kotlin 에 익숙해지기 : 낯선 문법들 정리 #3
람다 표현식 : https://kotlinlang.org/docs/lambdas.html 코틀린에서 함수는 first-class 이다. 이 의미는 함수도 객체처럼 변수에 저장도하고, 인자로 넘기고, 리턴값으로 돌려줄 수도 있다는 얘기. 이와같이 다루기위해 함수 타입의 정의가 필요한데 다음과 같이 한다. 람다 표현식(Lambda expression)은 표현식이면서 하나의 함수로 syntax예제는 다음과 같다. 람다 표현식은 함수와 똑같이 중괄호로 묶인다. 파라미터를 나열하는 것으로 시작하여 화살표 ‘->’ 를 쓰고 표현식 바디부분을…
Kotlin 에 익숙해지기 : 낯선 문법들 정리 #2
Destructuring : https://kotlinlang.org/docs/destructuring-declarations.html 코틀린은 클래스의 속성값을 하나씩 받아오지 않고, 한번에 여러 변수에 받아오는 방법을 제공한다. 이를 destructuring이라고 한다. 예를들면 다음과 같이 사용한다. 위 코드는 person에 있는 값을 name과 age 변수에 받아오고 있다. 이게 가능한 이유는 위에 풀어쓴 내용처럼 component1(), component2()로 해석되기 때문이다. component1, component2 등의 함수는 계속 3, 4 등으로 이어질 수 있는데, 이를 componentN()이라고…
Kotlin 에 익숙해지기 : 낯선 문법들 정리 #1
when 문 : https://kotlinlang.org/docs/control-flow.html#when-expression 최신 언어들은 switch-case 문을 안쓰는 추세다. 대신 더 유연하고 진보적인 when문이 생김. when문은 switch-case와 유사하게 조건 표현식에 따라 여러 경우의 수에 대해 처리를 달리 해주는 표현식이다. swich 문과 다르게 break나 continue가 없다. 대신 순차적으로 조건을 체크하면서 만족하는 브랜치를 찾아 실행하게 된다. when은 그냥 statement로도 쓰일 수 있지만, expression으로 사용될 수도 있다….
안드로이드 빌드 구성하기 #3
Code block Pro 자꾸 에러나서 짜증나네. 어쩔 수 없이 새로운 포스트로 넘어옴. Filter variants flavor dimension을 사용하면 모든 조합을 사용하므로 build variant가 매우 많아질 수 있는데, 필요없는 것까지 생성될 수 가 있다. 이경우, beforeVariants { } 블럭을 이용하면 된다. 예제를 보자. 위와 같이 작성하면, “minApi21″에 “demo”버전은 build variant를 생성하지 않게된다. Source set 만들기 기본적으로 안드로이드…