본문 바로가기

Language24

Kotlin - 확장함수(Extension Functions) 확장함수(Extension Functions) Extension functions(확장 함수)는 기존에 정의된 클래스에 함수를 추가하는 기능입니다. 확장 함수를 사용법 코틀린은 클래스에 함수를 확장하는 Extension functions(확장함수)를 제공하기 때문에 List 클래스에 getHigherThan() 함수를 추가할 수 있습니다. 확장 함수는 fun 클래스이름.함수이름(인자타입): 리턴타입 { 구현부 }으로 정의할 수 있습니다. 아래코드는 확장함수를 이용하여 List 클래스에 getHigherThan()를 추가한 코드입니다. 함수를 추가하려는 클래스는 List이고, 함수 이름은 getHigherThan입니다. 함수의 인자는 num: Int이고, 리턴타입은 List입니다. 그래서 fun List... 2022. 5. 15.
코틀린(Kotlin) 범위 지정 함수(Scope Function) 정리 범위 지정 함수 코틀린은 표준 라이브러리는 Scope Function 지원하고 있습니다. 객체 컨텍스트 내에서 코드 블럭에 여러 함수를 포함시켜 실행합니다. 제공된 람다식을 사용하여 객체에서 이런함수를 호출하면 임시범위가 형성됩니다. 이 범위에선 이름없이 객체이 접근할수 있습니다. 이런 함수를 범위함수(Scope Function)라고 하며 let,run,with,apply,also 제공됩니다. 이제 범위함수 사용법에 대해 하나하나씩 알아보도록 하겠습니다. Context Object : this 또는 it Scope Function 의 람다식 내부에선 실체 객체의 이름 대신 this 또는 it로 사용해서 참조할수 있습니다. 1. let() 함수란? let 함수는 let 함수를 호출하는 수신자의 객체를 블록.. 2022. 5. 14.
Inline ,Infix 함수 1. Infix Function Infix 함수는 두개의 변수 가운데 오는 함수를 말합니다. Infix함수들중에 Pair를 만들때 to 가 있습니다. 밑에 예시를 보고 진행하겠습니다. mapOf를 사용하여 key와value 값을 넣어 출력하는것을 확인할수있습니다. 위에는 Pair로 사용하였고, 밑에는 Infix to 사용하여 key와 value 값을 넣었습니다. Infix 함수는 Infix fun dispatcher.함수이름(receiver): 리턴다입{ 구현부 } 정의하는 형식입니다. Infix dispatcher 함수전 오는 객체, receiver 함수 뒤에 오는 객체를 정의합니다. 2. Inline Function 인라인 함수는 함수가 호출되는 곳에 함수 본문의 내용을 모두 복사해 넣어 함수의 분기.. 2022. 5. 13.
Kotlin Function 함수란? 여러 값(인자)을 입력받아 기능을 수행하고 결과값을 반환하는 코드의 모음입니다. 함수를 사용하는 이유는 코드를 재사용할 수 있기 때문입니다. 함수형 프로그래밍이란? 함수형 프로그래밍은 순수 함수를 작성하여 프로그램의 부작용을 줄이는 프로그래밍 기법을 말합니다. 함수형 프로그래밍은 람다식과 고차 함수를 사용합니다. 람다식 람다식은 다른 함수의 인자로 넘기는 함수, 함수의 결과값으로 반환하는 함수, 변수에 저장하는 함수를 말합니다. 람다식은 코드를 간결하게 만들어주는 요소입니다. 함수의 변수를 할당할때 람다식과 익명함수가 두가지 형태로 나뉘어 집니다. 익명함수는 말그대로 이름이 없는 함수를 말합니다. 구현한 코드를 반환할때 변수에 값을 할당하여 출력합니다. 고차함수 고차 함수(High-order-F.. 2022. 5. 12.