[개발일기] 22-06-17

오늘·2022년 6월 17일
0

[개발일기]

목록 보기
55/199

📝 간단하게 쓰는 개발일기

함수형 코틀린

5장에서 연산자 오버로딩, 타입 안전 빌더와 Kotlin에서 DSL을 만드는 법에 대해 공부했다.

정리

  • 연산자 오버로딩은 확장 함수의 일종으로, 기본 연산자들에 대해 operaotr 수정자를 통해 연산자들의 동작을 재정의할 수 있는 기능이다.
  • 연산자 오버로딩이 가능한 연산자는 기본 연산자와 호출 연산자인 invoke, 인덱싱된 접근을 가능하게 해주는 [] 연산자가 있다.
  • 타입 안전 빌더는 with, buildString, apply 처럼 리시버가 있는 명명된 함수타입을 사용한 빌더? 이다.
  • with은 리시버와 그 리시버의 함수들을 인자로 받아서 전달받은 함수들을 호출하고 해당 함수가 반환한 값을 반환한다.
  • buildStringStringBuilder의 함수들을 인자로 받아서 호출한 후 결과로 생성된 String을 반환한다.
  • apply는 확장 함수이며, 리시버의 함수들을 인자로 받아서 해당 함수들이 호출된 리시버 타입 객체를 반환한다.
  • Kotlin은 @DslMarker 어노테이션과 중위 함수, 연산자 오버로딩, 타입 안전 빌더를 통해 DSL을 간단하게 생성할 수 있다.
profile
Junior Mobile 개발자

0개의 댓글