Jisoo’s devlog
코틀린 FAQ_week3 본문
확장 함수란?
확장 함수: 어떤 클래스의 멤버 메서드인 것처럼 호출할 수 있지만 그 클래스의 밖에서 선언된 함수
선언 : 수신 객체 타입+추가하려는 함수 이름():타입 = ~
수신 객체 타입: 확장되는 클래스
수신 객체: 확장 함수가 호출되는 대상이 되는 값
String: 확장되는 클래스
lastChar(): 불러오려는 함수
확장 프로퍼티란?
확장 프로퍼티도 일반 프로퍼티와 같지만 수신 객체 타입(확장되는 클래스)만 추가된다.
사용 방법도 일반 프로퍼티와 동일하게 사용된다.
필드(멤버 변수)가 없어서 게터를 꼭 정의해야 한다.
기존 클래스 객체에 프로퍼티 형식의 구문으로 API를 추가해서 추가적인 기능을 사용할 수 있게 한다.
API를 추가한다는 것 : 실제로 컬렉션에 추가되는 것은 아니지만 기존의 컬렉션에 프로퍼티를 사용해서 추가적인 기능을 사용하는 API를 추가한다는 것.
위의 예시에서는 String. lastChar 자체가 새로운 API가 된다.
확장 프로퍼티를 사용하면 더 짧게 코드를 작성할 수 있어서 편리하다.
중위 호출이란?
중위 표현법은 변수와 변수 사이에 함수를 넣어서 연산자처럼 사용하는 것.
a multi b
처럼 사용할 수 있다.
infix 키워드를 사용해서 함수 선언.
수신 객체와 유일한 메서드 인자 사이에 메서드 이름을 넣는다.
(메서드가 꼭 확장 함수일 필요는 없다.)
'Kotlin' 카테고리의 다른 글
코틀린 FAQ_week5 (0) | 2023.01.09 |
---|---|
코틀린 FAQ_week4 (0) | 2022.11.12 |
Deep Dive into Kotlin_1. Extension (0) | 2022.10.08 |
코틀린 FAQ_week2 (1) | 2022.10.08 |
코틀린의 Extension 지원 (0) | 2022.10.07 |