728x90
반응형
- 코틀린의 확장함수는 기존 클래스에 멤버 함수를 추가하는 효과
- receiver type (수신객체타입) - 확장할 대상의 타입
- 확장 함수를 정의할 때 함수 이름 앞에 수신 객체 타입을 붙여줘야 한다.
// 예)
fun String.singleQuote() = "'$this'"
- 확장 함수는 '수신 객체 타입의 멤버함수'인 것처럼 호출할 수 있다.
- 다른 패키지에서 확장 함수를 쓰려면 import 해야한다.
- 확장 함수는 수신 객체 타입(=확장 대상 타입)의 public 원소에만 접근할 수 있다.
- 확장 함수를 사용하는 장점은 '구문적 편의'를 얻는 것이다.
fun Book.categorize(String)
fun categorize(Book, String)
// 위 두 함수는 같다.
// 하지만 전자가 구문적으로 낫다.
728x90
반응형
'코틀린' 카테고리의 다른 글
아토믹 코틀린 32 - 오버로딩 (0) | 2023.10.15 |
---|---|
아토믹 코틀린 31 - 이름 붙은 인자와 디폴트 인자 (0) | 2023.10.15 |
아토믹 코틀린 - 객체 - 맵 (0) | 2023.10.02 |
아토믹 코틀린 - 객체 - 집합 (0) | 2023.10.02 |
아토믹 코틀린 - 객체 - 가변 인자 목록 (0) | 2023.10.02 |