Android App Track⛺-021

MunkiJeon·2024년 6월 27일

TIL

목록 보기
38/59
post-thumbnail

TIL (Today I Learned)

오늘 공부한거!

  • 람다식(Lambda Expression) + 익명함수 곁들이기🧂
    • Lambda Expression은 람다식, 람다 표현식이라고 합니다.
      람다식는 단순하게보면 익명함수라고 볼 수 있습니다.
      = 람다식을 값처럼 다룰 수 있다는 말은, 람다식 자체가 함수의 인수가 되거나 반환값이 될수 있다는 의미

What is 익명함수

익명 함수는 일반 함수와 비슷한 형식을 가지고 있으며, 단지 이름이 없을 뿐입니다.

- 익명 함수의 작성 방법

val 함수명 = fun(매개변수1: 타입, 매개변수2: 타입, ...) : 반환 타입 {
   // 함수의 내용
}
//예시
val sum = fun(a: Int, b: Int) : Int { return a + b }
fun main() {
   val sum = fun(a: Int, b: Int) : Int { return a + b }
   val result = sum(3, 5)
   println(result) // 8
}

- 익명함수 장단점

  • 장점
  1. 익명 함수는 코드의 재사용성을 높입니다. 특정 로직을 익명 함수로 작성하면,
    해당 로직을 다른 곳에서도 필요할 때 재사용할 수 있습니다.
  2. 코드의 가독성을 높여줍니다. 익명 함수를 사용하면 필요한 로직을 직접 구현할 수 있어서 코드의 의도를 명확하게 표현할 수 있습니다.
  • 단점
  1. 익명 함수는 이름이 없기 때문에, 디버깅할 때
    함수 이름이 표시되지 않아 어떤 함수가 어떤 역할을 하는지 파악하기 어렵습니다.
    2.나중에 코드를 수정하거나 유지 보수해야 할 때,
    익명 함수를 이해하기 어려울 수 있습니다.

- 람다식과 익명 함수의 차이점

//람다식 예시
val sum: (Int, Int) -> Int = { a, b -> a + b }
//익명함수 예시
val sum = fun(a: Int, b: Int) : Int { return a + b }

- 다시 [람다식]으로 돌아와서...

🤌람다 함수의 기본 구문

{ 매개변수 -> 함수 본문 }
val sum = { a: Int, b: Int -> a + b }
//추가 예시
val numbers = listOf(1, 2, 3, 4, 5)
val evenNumbers = numbers.filter { it % 2 == 0 }
//예시에서는 listOf 함수에 람다 함수를 전달하여 짝수만을 필터링한 
//evenNumbers 리스트를 생성하였습니다. 
//it은 현재 요소를 나타내는 암묵적인 매개변수입니다.

람다(짜식)의 장단점

  • 장점
  1. 간결한 코드: 람다 함수를 사용하면 별도의 함수 정의 없이도
    코드를 간결하게 작성할 수 있습니다.
  2. 코드 가독성 향상: 람다 함수를 사용하면 코드의 의도를 명확하게 표현할 수 있습니다.
  3. 높은 유연성: 람다 함수는 다른 함수의 매개변수로 전달될 수 있기 때문에,
    함수형 프로그래밍의 장점을 활용할 수 있습니다.
  • 단점
  1. 복잡한 로직을 표현하기 어려움: 너무 복잡한 로직을 표현하기 위해서는
    람다 함수의 사용보다는 별도의 함수 정의가 필요할 수 있습니다.
  2. 가독성 저하: 긴 람다 함수 표현식은 가독성을 저하시킬 수 있습니다.

Today Review

  • 딴블로그 보면서 정리하며...적긴했지만...이해ing...
profile
공장자동화와 웹 개발을 핥아 먹다 앱 개발로 전향한 개발자의 키보드의 낡은 키캡⛑️

0개의 댓글