Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TIL] Kotlin Extension Function #24

Open
yunyoung1819 opened this issue May 4, 2024 · 0 comments
Open

[TIL] Kotlin Extension Function #24

yunyoung1819 opened this issue May 4, 2024 · 0 comments
Assignees
Labels

Comments

@yunyoung1819
Copy link
Owner

Date

  • 2024.05.04

Title

코틀린 확장 함수 (Extension Function)

Description

  • 코틀린에서 확장 함수(Extension Function)는 기존 클래스의 멤버 함수를 추가하거나 확장하는데 사용됨
  • 즉 기존 클래스의 소스 코드를 변경하지 않고도 해당 클래스에 새로운 함수를 추가할 수 있음
  • 확장 함수는 특히 외부 라이브러리나 기존의 자바 클래스에 새로운 기능을 추가하고자 할 때 매우 유용함
  • 확장 함수는 수신자 타입(receiver type)을 가짐. 이는 함수가 호출될 때 그 타입의 인스턴스를 수신하는 객체를 가리킴

리스트의 모든 요소를 더하는 확장 함수를 정의하기

fun List<Int>.sums(): Int {
  var sum = 0
  for (item in this) {
    sum += item
  }
  return sum
}

fun main() {
  val numbers = listOf(1, 2, 3, 4, 5)
  println(numbers.sums())    // 출력: 15
}
  • 이러한 방식으로 확장 함수를 사용하면 기존 클래스에 손쉽게 기능을 추가할 수 있으며 코드의 가독성과 모듈성을 향상시킬 수 있음

Reference

@yunyoung1819 yunyoung1819 self-assigned this May 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant